当我尝试使用以下设置使用Flask-Mail向Gmail的SMTP服务器发送电子邮件时,我得到[Errno -2] Name or service not known
。如何修复配置以使用Gmail发送电子邮件?
from flask import Flask, render_template, redirect, url_for
from flask_mail import Mail, Message
app = Flask(__name__)
app.config.update(
MAIL_SERVER='smtp@gmail.com',
MAIL_PORT=587,
MAIL_USE_SSL=True,
MAIL_USERNAME = 'ri******a@gmail.com',
MAIL_PASSWORD = 'Ma*****fe'
)
mail = Mail(app)
@app.route('/send-mail/')
def send_mail():
msg = mail.send_message(
'Send Mail tutorial!',
sender='ri******a@gmail.com',
recipients=['ri*********07@msn.com'],
body="Congratulations you've succeeded!"
)
return 'Mail sent'
答案 0 :(得分:17)
MAIL_USE_TLS = True
一起使用,请使用MAIL_PORT = 587
。MAIL_USE_SSL = True
上使用SSL / TLS,请使用MAIL_PORT = 465
。MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 465
MAIL_USE_SSL = True
MAIL_USERNAME = 'username@gmail.com'
MAIL_PASSWORD = 'app password generated in step 3'
答案 1 :(得分:10)
大卫的答案中一个小而重要的补充:
您必须拥有'两步验证'在您能够设置应用专用密码之前,已在您的Google帐户上启用。