Flask sendmail没有显示任何错误,但没有收到电子邮件

2024-09-27 20:19:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python Flask应用程序安装并运行在CherryPy上(托管在Digital Ocean,OS:debiangnu/linux7.0上)。我正在使用Flask Sendmail发送邮件,运行应用程序并尝试发送电子邮件,它没有显示任何错误,并且执行正常。但是没有收到电子邮件(检查垃圾邮件和其他文件夹)。在

有什么帮助吗?我添加了下面的代码。在

烧瓶app配置:

app.config.update(
    DEBUG=True,
    MAIL_DEBUG=True,
    MAIL_FAIL_SILENTLY=False,
    MAIL_SUPPRESS_SEND=False,
    DEFAULT_MAIL_SENDER='Tester',
    TESTING=False
)

邮件发送部分:

^{pr2}$

Tags: debugfalsetrueappflaskos电子邮件邮件
1条回答
网友
1楼 · 发布于 2024-09-27 20:19:15

最近我也花了整整一个晚上的时间。我最终得到的工作邮件模块如下:

from flask_mail import Mail, Message

mail = None

def configure_mail(app):
    # EMAIL SETTINGS
    global mail
    app.config.update(
        MAIL_SERVER = 'smtp.gmail.com',
        MAIL_PORT = 465,
        MAIL_USE_SSL = True,
        MAIL_USERNAME = 'blabla@gmail.com',
        MAIL_PASSWORD = 'mega_password',
        DEFAULT_MAIL_SENDER = 'blabla@gmail.com',
        SECRET_KEY = 'abcdefd_thats_a_charming_secret_key',
    )
    mail=Mail(app)

def send_email(subject, sender, recipients, text_body, html_body):
    msg = Message(subject, sender = sender, recipients = recipients)
    msg.body = text_body
    msg.html = html_body
    mail.send(msg)

然后我只需从适当的位置调用实现的方法:

^{pr2}$

别忘了在发送电子邮件之前调用连接代码。E、 g.:

from emails import configure_mail # 'emails' is a name of the module provided above
app = Flask(__name__)
app.debug = True
configure_mail(app)

希望这有帮助。在

相关问题 更多 >

    热门问题