pip install flask-mail
这里我以QQ邮箱为例,来讲解QQ邮箱的发送!其它邮箱与此类似(下图是QQ邮箱服务器地址、端口号相关信息)
服务器名称 | 服务器地址 | SSL协议端口号 | 非SSL协议端口号 |
---|---|---|---|
IMAP | imap.163.com | 993 | 143 |
SMTP | smtp.163.com | 465/994 | 25 |
POP3 | Pop.163.com | 995 | 110 |
exts.py 代码如下:
from flask_mail import Mail
mail = Mail()
config.py 代码如下:
# 服务器ip地址
MAIL_SERVER = "smtp.qq.com"
# 端口号:TLS对应587,SSL对应465
MAIL_PORT = "587"
MAIL_USE_TLS = True
# MAIL_USE_SSL : 默认为 False
# 发送者邮箱
MAIL_USERNAME = "你的qq邮箱"
# 发送者QQ邮箱授权码(进入邮箱发送短信申请即可,具体参照下图)
MAIL_PASSWORD = "此处为你的QQ邮箱授权码"
# 默认发送者
MAIL_DEFAULT_SENDER = "你的qq邮箱"
ptoject.py 代码如下:
from flask import Flask
import config
from exts import mail
from flask_mail import Message
app = Flask(__name__)
app.config.from_object(config)
mail.init_app(app)
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route("/send/")
def send():
# 第一个参数为发送邮件的标题;
# recipients:接收邮件的用户邮箱;
# body:发送邮箱的主题内容
msg = Message("测试邮件发送", recipients=['接收邮件的用户邮箱'], body="恭喜你,邮件发送成功!")
mail.send(msg)
return "success"
if __name__ == '__main__':
app.run(debug=True)
运行project.py文件,如果不出意外的话,在浏览器输入127.0.0.1:5000/send。你就能收到邮件了。结果如下:
from flask_mail import Message, Mail
from flask import Flask
app = Flask(__name__)
app.config.update(
DEBUG=True,
MAIL_SERVER='smtp.163.com',#邮箱服务器
MAIL_PORT=465,#端口号
MAIL_USE_SSL=True,#支持ssl协议
MAIL_USERNAME='##',#邮箱账号
MAIL_PASSWORD='##'#授权码
)
mail = Mail(app=app)##创建邮箱对象
发送邮件
@app.route('/send')
def sendmail():
msg = Message(
subject='flask_test',
recipients=['###@qq.com'],#发送给谁
sender='<##@163.com>'#发送人
)
msg.html = '<h1>欢迎来到flask</h1>'
mail.send(msg)
return 'susseccful'
if __name__ == '__main__':
app.run()
参考:https://blog.csdn.net/aimill/article/details/89380953 https://blog.csdn.net/qq_43536078/article/details/97708004 https://www.cnblogs.com/gandoufu/p/9497703.html