使用烧瓶邮件通过Gmail发送电子邮件

使用烧瓶邮件通过Gmail发送电子邮件

问题描述:

我有一个简单的CRUD Web应用程序在Python/Flask中设置,当一个特定的功能被激活(批准请求)我想发送一个电子邮件通知给用户,但为我试过的所有邮件都无法通过我的代码发送。使用烧瓶邮件通过Gmail发送电子邮件

这里是所有设置相关的环境变量,我的配置文件(配置对象的内部):

MAIL_SERVER = 'smtp.gmail.com' 
MAIL_PORT=465 
MAIL_USE_SSL=True 
MAIL_USERNAME = '**@gmail.com' 
MAIL_PASSWORD = '**' 

我也试图在我的应用程序调用app.config.update(这些值)/ init .py文件。下面是当前的代码这样做

mail = Mail() 

def create_app(config_name): 
    app = Flask(__name__, instance_relative_config=True) 
    app.config.from_object(app_config[config_name]) 
    app.config.from_pyfile('./config.py') 
    app.config.update(
    MAIL_SERVER='smtp.gmail.com', 
    MAIL_PORT=465, 
    MAIL_USE_SSL=True, 
    MAIL_USE_TLS=False, 
    MAIL_USERNAME = '**@gmail.com', 
    MAIL_PASSWORD = '**') 

    mail.init_app(app) 

最后这里是代码,我居然试图发送电子邮件:

msg = Message(html=html, sender='**@gmail.com', subject='Your Reservation for %s' % reservation.item.name, recipients=['**']) 
mail.send(msg) 

此外,目前失败默默,我不知道如何甚至可以查看发生了什么错误。任何帮助深表感谢!

+0

查看此刻更多帮助https://*.com/a/17985896/7699045 –

+0

此外,如果您尚未这样做,请确保您在Google帐户设置中允许使用“安全性较低的应用程序”。 – BrettJ

+1

@BrettJ非常感谢!这确实是问题! – Wasdo

我在评论中的建议确实是对这个问题的回答。

在Google帐户设置中启用“安全性较低的应用”是解决OP遇到的挂断问题的必要步骤。来自Google支持页面的This link将引导您了解如何启用此选项。

我想,你应该将发送协议从我的项目

MAIL_SERVER='smtp.gmail.com', 
MAIL_PORT=587, 
MAIL_USE_TLS=True, 
MAIL_USERNAME = '**@gmail.com', 
MAIL_PASSWORD = '**' 

对于我这个作品非常好切换到TLS

这是样品。