美文网首页
Flask-Mail

Flask-Mail

作者: SingleDiego | 来源:发表于2018-10-16 15:28 被阅读27次

参考:https://blog.csdn.net/wbin233/article/details/73222027




安装 Flask-Mail

pip install Flask-Mail




配置 Flask-Mail

配置项 默认值 功能
MAIL_SERVER localhost 邮箱服务器
MAIL_PORT 25 端口
MAIL_USE_TLS False 是否使用TLS
MAIL_USE_SSL False 是否使用SSL
MAIL_DEBUG app.debug 是否为DEBUG模式,打印调试消息
MAIL_SUPPRESS_SEND app.testing 设置是否真的发送邮件,True不发送
MAIL_USERNAME None 用户名,填邮箱
MAIL_PASSWORD None 密码,填授权码
MAIL_DEFAULT_SENDER None 默认发送者,填邮箱
MAIL_MAX_EMAILS None 一次连接中的发送邮件的上限
MAIL_ASCII_ATTACHMENTS False 如果 MAIL_ASCII_ATTACHMENTS 设置成 True 的话,文件名将会转换成 ASCII 的。一般用于添加附件。




邮件操作

邮件是通过一个 Mail 实例进行管理。

from flask import Flask
from flask_mail import Mail

app = Flask(__name__)
# ...
app.config['MAIL_SERVER'] = 'smtp.qq.com' # 以QQ邮箱为例
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USERNAME'] = 'XXX@qq.com'
app.config['MAIL_PASSWORD'] = '填授权码'
# ...
mail = Mail(app)

在这个例子中所有的邮件将会使用传入到 Mail 实例中的配置项进行发送。

创建发送邮件的内容
from flask_mail import Message

msg = Message(
    subject="Hello World!", # 邮件标题
    body="test!", # 正文内容
    sender="xxx@qq.com", # 发送者
    recipients=["xxx@126.com"] # 收件人
    )

sender 为发送方,如果你设置了 MAIL_DEFAULT_SENDER,就不必再次填写发件人,默认情况下将会使用配置项的发件人。

recipients 为接收方,可以设置一个或者多个收件人,也可以后续再添加,例如:

msg.recipients = ["xxx@qq.com"]
msg.add_recipient("xxxx@qq.com") # 新增收件人

sender 也可以是一个二元组,它将会被分成姓名和邮件地址:

sender=("Me", "me@example.com")

邮件内容可以包含主体以及/或者 HTML:

msg.body = "testing"
msg.html = "<b>testing</b>"

最后,发送邮件的时候请使用 Flask 应用设置的 Mail 实例:

mail.send(msg)

这里是一个完整例子:

from flask import Flask
from flask_mail import Mail

app = Flask(__name__)

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'] = 'xxxxxx@qq.com' 
app.config['MAIL_PASSWORD'] = '**********' # 授权码


mail = Mail(app)


from flask_mail import Message
msg = Message(
    subject="Hello World!",
    body="test!",
    sender="xxxxx@qq.com",
    recipients=["xxxxxx@126.com"]
    )


@app.route('/')
def hello_world():
    mail.send(msg)
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

当我们打开 http://127.0.0.1:5000/ 时候,邮件就会发送。

相关文章

  • [Flask] Flask-Mail

    [TOC] [Flask] Flask-Mail Welcome to Flask-Mail, you can u...

  • 2018-04-26 flask-mail

    flask-mail 1、安装 pip install flask-mail 2、配置 3、异步发送邮件

  • Flask-Mail 发送邮件

    Flask 发送邮件 @(Flask)[Flask开发|Flask-Mail] 使用flask-mail扩展发送电...

  • 第六章--电子邮件

    一、使用Flask-Mail Flask-Mail连接到简单邮件传输协议(Simple Mail Transfer...

  • 6.电子邮件

    涉及的包 Flask-Mail SendGrid-python 6.1使用Flask-mail发送邮件 6.1.1...

  • FLASK 电子邮件

    安装插件pip install flask-mail 示例邮件信息: 初始化: Flask-Mail的常用配置: ...

  • Flask Web开发学习笔记(五)

    本文主要介绍,如何使用Flask-Mail发送邮件。 Flask-Mail连接到简单邮件传输协议(SMTP)服务器...

  • DAY5-Flask

    使用Flask-Mail提供电子邮件支持 Flask-Mail连接到简单邮件传输协议(SMTP)服务器,并把邮件交...

  • Flask 电子邮件

    电子邮件 Flask-Mail 1.使用Flask-Mail提供电子邮件支持 举个例子,示例 6-1 展示了如何配...

  • flask-邮件发送

    利用flask-mail实现邮件发送 qq邮箱版 网易邮箱版

网友评论

      本文标题:Flask-Mail

      本文链接:https://www.haomeiwen.com/subject/cpoczftx.html