小编Joh*_*son的帖子

Flask-Security 邮件确认(Flask-Mail) 不修改flask_security/utils.py 发送失败

我正在试验 Flask-Security,但在发送确认电子邮件时遇到了一些问题。我最终通过删除 flask_security/utils.py 中的一行来修复它。我删除了第 387 行,强制烧瓶邮件使用 app.config 的邮件发件人。

386: msg = Message(subject,
387:               sender=_security.email_sender,
388:               recipients=[recipient])
Run Code Online (Sandbox Code Playgroud)

在删除之前,代码将在flask_mail.py,@第105 行(在sanatize_address 方法内)中失败,因为传入的addr 只是一个字符串,而不是元组。

102: def sanitize_address(addr, encoding='utf-8'):
103:     if isinstance(addr, string_types):
104:         addr = parseaddr(force_text(addr))
105:     nm, addr = addr
Run Code Online (Sandbox Code Playgroud)

我希望能够运行我的代码而不必在每次安装时修改 flask_security/utils.py。有什么建议?我的配置中可能缺少一个步骤,但我无法从flask-security 的文档中分辨出来(它们有点有限)。

感谢您的帮助,下面是我的示例应用程序。

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_security import Security, SQLAlchemyUserDatastore, \
    UserMixin, RoleMixin, login_required
import flask_security.utils
import flask_mail

# Create app
app = Flask(__name__)
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'super-secret'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite'

# Flask-Security Config …
Run Code Online (Sandbox Code Playgroud)

python flask flask-mail flask-security

3
推荐指数
1
解决办法
2428
查看次数

标签 统计

flask ×1

flask-mail ×1

flask-security ×1

python ×1