首先我们用python发邮件前,先要去qq邮箱里去设置一下。
开POP3/SMTP/IMAP功能
http://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=166
为了保障用户邮箱的安全,QQ邮箱设置了POP3/SMTP/IMAP的开关。系统缺省设置是“关闭”,在用户需要这些功能时请“开启”。 首先,登录邮箱,进入设置-帐户;
然后,在“帐户”设置中,找到设置项,进行设置,如下:
最后,保存设置,然后点击生成授权码
这里需要手机发送验证码验证是否是本人
涂鸦部分就是我们需要的授权码(相当于密码)
QQ邮箱 POP3 和 SMTP 服务器地址设置如下:邮箱POP3服务器pop.qq.com(端口110)SMTP服务器smtp.qq.com(端口25) SMTP服务器需要身份验证。 如果是设置POP3和SMTP的SSL加密方式,则端口如下: POP3服务器(端口995) SMTP服务器(端口465或587)。
安装Flask-Mail
代码语言:javascript复制pip install flask-mail
Flask-Mail发送邮件
以qq邮箱账户为例,发送电子邮件
代码语言:javascript复制from flask import Flask,render_template
from flask_mail import Mail,Message
app = Flask(__name__)
#SMTP服务器配置
app.config.update(
MAIL_SERVER='smtp.qq.com',
MAIL_PORT='465',
MAIL_USE_SSL=True,
MAIL_USERNAME='你的qq邮箱',
MAIL_PASSWORD='授权码'
)
mail = Mail(app)
@app.route('/')
def index():
msg = Message(subject='来自flask的邮件',sender='你的qq邮箱',recipients=['收件人邮箱'])
msg.body = '文本 body'
msg.html = '<b>HTML</b> body'
mail.send(msg)
return '<h1>邮件发送成功</h1>'
if __name__ == '__main__':
app.run(debug=True)```