首先要开启自己邮箱的 smtp 服务,并且开启 smtp 服务端口
例如 QQ 邮箱 :
- 打开设置
- 点击账户
- 开启smtp
- 获取安全密钥
在templates 下,建个邮件样式存储目录 mail
- 新建个 find.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
<h1>测试成功</h1>
</body>
</html>
- 新建个 find.txt
我是 txt ,随便写点什么吧
在 app 中 :
from flask import Flask,render_template
from flask_mail import Mail,Message
app = Flask(__name__)
app.config['MAIL_SERVER'] = '' # 填自己邮箱的服务 eg : smtp.163.com
app.config['MAIL_USERNAME'] = '' # 发送者的邮箱
app.config['MAIL_PASSWORD'] = '' # 自己邮箱 smtp 的安全密钥不是邮箱的登录密码
mail = Mail(app)
def async_send_mail(mail):
mail.send(message=msg)
@app.route("/")
def hello_world():
# 主题 发给谁 列表(同时发送多个人) 谁发的
msg = Message(subject='找回密码',recipients=['自收件人邮箱地址'],sender=app.config['MAIL_USERNAME'])
msg.html = render_template('mail/find.html')
# 邮件内容
msg.body = render_template(('mail/find.txt'))
mail.send(msg)
return '已经发送'
if __name__ == "__main__":
app.run(debug=True)