You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask Mail配置Gmail发送邮件多参数组合均报错问题咨询

Flask-Mail Gmail发送失败解决方法

核心错误点出在你的Flask配置项:MAIL_USERNAME被设置为None。Flask-Mail执行SMTP登录时会读取MAIL_USERNAME和MAIL_PASSWORD作为校验凭证,你未填写发件人邮箱账号,自然无法通过Gmail的身份验证,这也是你多组配置测试时多次触发530认证错误的直接原因。

正确配置参考

对应你可正常运行的smtplib逻辑(587端口+TLS加密),Flask-Mail的配置调整如下即可:

from flask import Flask  
from flask_mail import Mail, Message

app = Flask(__name__)

app.config['MAIL_DEBUG'] = True  
app.config['TESTING'] = False  
app.config['MAIL_SERVER'] = 'smtp.gmail.com'  
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USE_SSL'] = False
# 此处必须填写完整的发件人Gmail账号,不得留空为None
app.config['MAIL_USERNAME'] = 'me@gmail.com'
app.config['MAIL_PASSWORD'] = '你的Gmail校验凭证'
app.config['MAIL_DEFAULT_SENDER'] = 'me@gmail.com'
app.config['MAIL_MAX_EMAILS'] = None  
app.config['MAIL_SUPPRESS_SEND'] = False  
app.config['MAIL_ASCII_ATTACHMENTS'] = False  

mail = Mail(app)

@app.route('/')  
def home():  
    msg = Message('Test Message from Flask Mail', recipients=['you@gmail.com'])  
    mail.send(msg)  
    return 'OK'

if __name__ == '__main__':  
    app.run(debug=True)

补充注意事项

当前谷歌官方已关闭普通Google账号的「低安全性应用访问」权限,如果你使用的是普通个人账号,需要先开启账号的两步验证,之后生成应用专用密码,将生成的16位应用专用密码填入MAIL_PASSWORD配置项即可正常使用。

内容的提问来源于stack exchange,提问作者Ian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 17:33:03