在 Flask-Mail 中使用 API 发送电子邮件
Python是一种强大的语言,不需要任何外部库来导入,并提供了一个本地库来发送电子邮件-“SMTP 库”。 “smtplib”创建一个简单邮件传输协议客户端会话对象,用于将电子邮件发送到 Internet 上的任何有效电子邮件 ID。本文围绕着我们如何在 Flask 的帮助下向一群人发送批量定制的电子邮件。
安装 :
烧瓶邮件需要三个包才能工作,然后使用 pip 安装,
1)虚拟环境:
pip install virtualenv
2)烧瓶:
pip install Flask
3)烧瓶邮件:
pip install Flask-Mail
安装包后,我们必须使用virtualenv (可选)
1)创建一个虚拟环境
打开命令
转到您要用于项目的文件夹。
编写以下代码:
python3 -m venv env (macOS/Linux)
py -m venv env (Windows)
这里env是您的环境的名称。
2)激活环境
在窗户上:
.\env\Scripts\activate
在 macOS/Linux 上:
source env/bin/activate
3) 确保您在下面的图片中显示开头的 (env):
配置 Flask-Mail
Flask-Mail 通过标准的 Flask config API 进行配置。这些是可用的选项(每个都在文档后面解释):
1) MAIL_SERVER :电子邮件服务器的名称/IP 地址。
2) MAIL_PORT : 使用的服务器端口号。
3) MAIL_USE_TLS :启用/禁用传输安全层加密。
4) MAIL_USE_SSL : 启用/禁用安全套接字层加密
5) MAIL_DEBUG :调试支持。默认为 Flask 应用程序的调试状态。
6) MAIL_USERNAME : 发件人的用户名
7) MAIL_PASSWORD : 发件人对应用户名的密码。
8) MAIL_ASCII_ATTACHMENTS :如果设置为 true,附加文件名将转换为 ASCII。
9) MAIL_DEFAULT_SENDER : 设置默认发件人
10) MAIL_SUPPRESS_SEND : 如果 app.testing 设置为 true,则发送被抑制
11) MAIL_MAX_EMAILS : 设置要发送的最大邮件
Note : Not all of the configuration is to be set.
使用 Flask-Mail 发送电子邮件
Flask-Mail 中的类:
邮件类:管理电子邮件消息传递要求
消息类:封装电子邮件消息
让我们掌握代码。
# importing libraries
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
mail = Mail(app) # instantiate the mail class
# configuration of mail
app.config['MAIL_SERVER']='smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = 'yourId@gmail.com'
app.config['MAIL_PASSWORD'] = '*****'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
mail = Mail(app)
# message object mapped to a particular URL ‘/’
@app.route("/")
def index():
msg = Message(
'Hello',
sender ='yourId@gmail.com',
recipients = ['receiver’sid@gmail.com']
)
msg.body = 'Hello Flask message sent from Flask-Mail'
mail.send(msg)
return 'Sent'
if __name__ == '__main__':
app.run(debug = True)
将其保存在文件中,然后在Python Shell 或 CMD 中运行脚本并访问 http://localhost:5000/。
Note :
Due to Google’s built-in security features, Gmail service may block this login attempt. You may have to decrease the security level. Visit https://myaccount.google.com/lesssecureapps?pli=1 to decrease security.
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。