-
实例
# encoding:utf8
"""
flask_mail实现邮件的发送
"""
from flask import Flask
from flask_mail import Message, Mail# Message构建消息对象, Mail完成发送
# 实例化
app = Flask(__name__ )
# 1.配置
app.config["MAIL_SERVER"] = "smtp.qq.com"
app.config["MAIL_PORT"] = 465
app.config["MAIL_USE_SSL"] = True
app.config["MAIL_USE_TLS"] = False
app.config["MAIL_USERNAME"] = "[email protected]" # ("username", "qq_mail")# 字符串时是发件人邮箱, 元组会自动拆分成发件人昵称邮箱和邮箱
app.config["MAIL_PASSWORD"] = "凭证" # # QQ邮箱需要的凭证,不需要要密码
app.config["MAIL_PASSWORD"] = "bruqfuzmmxwneccj"
# 2.邮箱实例化 ,一定要在邮件配置的后面, 不然会报错10061
mail = Mail( app )
# 发送消息
def send_msg():
# 3.构建消息对象
msg = Message( subject="测试邮件,请及时删除!",
sender=app.config.get("MAIL_USERNAME"),
recipients=["[email protected]", "[email protected]"]
)
# msg.html = """
# <b> 2021年3月23日 </b>
# html会覆盖body???
# """
msg.body = """
亲爱的陈:
这是测试邮件,请及时删除!
"""
msg.charset = "utf-8" # 邮件字符 ,非必须
# 4. 发送邮件
mail.send( msg ) # 邮件发送消息
@app.route("/")
def send_qq_mail():
try:
send_msg()
return "邮件发送成功! "
except Exception as e:
return "邮件发送失败:%s !" % str(e)
if __name__ == "__main__":
app.run( debug=True ) -
注意点:
-
msg.html会导致 msg.body不可见,原因未知
-
mail的实例化需要在邮件配置结束之后,不然会报错 10061
-
MAIL_PORT是邮箱服务器端口
-
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。