一、什么是POP3、SMTP和IMAP?
二、开启邮箱的SMTP服务
以常用的网易邮箱为例(其他同理):登录后进入常规设置
- 选择POP3/SMTP/IMAP:开启如下两条服务,并注意到这里提示使用的是授权码登录第三方客户端,而非邮箱密码(有些邮箱使用的是密码而非授权码)。
- 页面的最下方还有一个提示内容如下,这个也会在后面用到,有两个重要信息:
- SMTP的服务器:smtp.163.com
- 安全支持:POP3/SMTP/IMAP服务是全部支持SSL连接的
- 设置中选择 客户端授权密码 这一栏并选择开启,并记住这个授权码,开启后如下:
- 网易邮箱的相关服务器信息:
三、Python Flask框架发送邮件
- 安装依赖包:flask_mail
1
pip install flask_mail
- 这里假设一种情况,比如一般在注册一个网站时,会给用户发送验证邮件,这时我们用浏览器访问这个接口(http://localhost:5000/register)时就会发送对应的邮件到用户邮箱(当然省略了很多如生成验证码等内容)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
class Config(object):
DEBUG = True
MAIL_SERVER = 'smtp.163.com' # 邮件服务器地址
MAIL_PORT = '465' # SSL协议端口号
MAIL_USE_SSL = True # 使用SSL加密
MAIL_USERNAME = 'youremail@163.com' # 邮箱
MAIL_PASSWORD = 'xxxxxxxx' # 授权码(某些邮箱是直接使用密码)
app.config.from_object(Config)
mail = Mail(app)
def register():
msg = Message('填写邮件标题', sender='youremail@163.com', recipients=['xxx@gmail.com', 'xxx@qq.com'])
msg.body = '邮件内容'
mail.send(msg)
return '邮件发送成功!'
if __name__ == '__main__':
app.run(host = '0.0.0.0',port = 5000)
...
...
00:00
00:00
本文为作者原创文章,未经作者允许不得转载。