码迷,mamicode.com
首页 > 编程语言 > 详细

【简说Python WEB】flask-mail电子邮件

时间:2020-03-24 12:56:29      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:cti   http   inf   pass   安全协议   ESS   instance   smt   主机   

系统环境:Ubuntu 18.04.1 LTS

Python使用的是虚拟环境:virutalenv

Python的版本:Python 3.6.9

flask-mail

1.安装flask-mail

pip install flask-mail

2.配置flask-mail使用qq邮箱

flask-mail STMP服务器的配置

配置 默认值 说明
MAIL_SERVER localhost smtp电子邮件服务器的主机名或IP地址
MAIL_PORT 25 电子邮件服务器的端口
MAIL_USE_TLS False 是否启用传输层(TLS,transport layer security)安全协议
MAIL_USE_SSL False 是否启用安全套接字层(SSL,secure sockets Layer)安全协议
MAIL_USERNAME None 邮件的用户名
MAIL_PASSWORD None 邮件的密码

app.py代码添加如下 :

import os

app.config[‘MAIL_SERVER‘] = ‘smtp.qq.com‘
app.config[‘MAIL_PORT‘] = 587
app.config[‘MAIL_USE_TLS‘] = True
app.config[‘MAIL_USERNAME‘] = os.environ.get(‘MAIL_USERNAME‘)
app.config[‘MAIL_PASSWORD‘] = os.environ.get(‘MAIL_PASSWORD‘)

3.初始化flask-mail

from flask_mail import Mail, Message


mail = Mail(app)

因为用户名和密码都是非常敏感的信息,可以通过设置环境变量。

如下;

export MAIL_USERNAME=<qqmail username>
export MAIL_PASSWORD=<qqmail password>

flask shell发送邮件

(zsdpy1) zsd@zsd-virtual-machine:~/Zflask/app$ flask shell
Python 3.6.9 (default, Nov  7 2019, 10:44:02) 
[GCC 8.3.0] on linux
App: app [production]
Instance: /home/zsd/Zflask/app/instance
>>> from flask_mail import Message
>>> from hello import mail
>>> from app import mail     
>>> msg = Message(‘测试邮件‘,sender=‘543421410@qq.com‘,recipients=[‘543421410@qq.com‘])
>>> msg.body=‘这是第一封flask-mail的测试邮件‘
>>> with app.app_context():
...     mail.send(msg)
... 

可以看到发送方和接收方是同一个人。

发送的效果如下:
技术图片

【简说Python WEB】flask-mail电子邮件

标签:cti   http   inf   pass   安全协议   ESS   instance   smt   主机   

原文地址:https://www.cnblogs.com/zhangshengdong/p/12558068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!