Python 3.x 使用flask mail通过gmail发送电子邮件
我在Python/Flask中设置了一个简单的crudwebapp,当一个特定的函数被激活(批准请求)时,我想向用户发送一个电子邮件通知,但尽管我做了很多尝试,我还是无法通过我的代码发送电子邮件 这是我的配置文件,其中设置了所有相关的环境变量(在配置对象内部): 我还尝试调用app/init.py文件中的app.config.update(这些值)。下面是执行此操作的当前代码Python 3.x 使用flask mail通过gmail发送电子邮件,python-3.x,email,flask,gmail,Python 3.x,Email,Flask,Gmail,我在Python/Flask中设置了一个简单的crudwebapp,当一个特定的函数被激活(批准请求)时,我想向用户发送一个电子邮件通知,但尽管我做了很多尝试,我还是无法通过我的代码发送电子邮件 这是我的配置文件,其中设置了所有相关的环境变量(在配置对象内部): 我还尝试调用app/init.py文件中的app.config.update(这些值)。下面是执行此操作的当前代码 mail = Mail() def create_app(config_name): app = Flask(
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)
此外,它目前无声地失败,我甚至不知道如何查看正在发生的错误。非常感谢您的帮助 我在评论中的建议确实回答了这个问题
在Google帐户设置中启用“不太安全的应用程序”是修复OP遇到的挂断的必要步骤。从谷歌的支持页面引导您了解如何启用此选项 我认为,您应该将发送协议切换到 这是从我的项目样本
MAIL_SERVER='smtp.gmail.com',
MAIL_PORT=587,
MAIL_USE_TLS=True,
MAIL_USERNAME = '**@gmail.com',
MAIL_PASSWORD = '**'
对我来说,这非常有效。请参阅此答案。有关更多帮助,请确保您在谷歌帐户设置中允许“不太安全的应用程序”,如果您还没有这样做的话。@BrettJ非常感谢!这确实是问题所在@我很高兴能帮上忙:)
MAIL_SERVER='smtp.gmail.com',
MAIL_PORT=587,
MAIL_USE_TLS=True,
MAIL_USERNAME = '**@gmail.com',
MAIL_PASSWORD = '**'