flask web开发--邮件

2018-05-11  本文已影响124人  BourneKing

在web开发过程中,比如用户在注册成功时会收到web后台发的confirm邮件,或者忘记密码时,通过系统发出的邮件找回密码等。

官方文档:


flask-email

目前邮件服务器的类型有三种,SMTPPOP,还有IMAP
关于这三种的区别,可以去看一下知乎上的回答:
https://www.zhihu.com/question/24605584
本教程是以Google mail的smtp服务器作为邮件服务器,原因方便。

首先,在使用谷歌邮件发送邮件时,必须要配置SMTP的服务器信息,根据上面的截图可以看出,主要是设定MAIL_SERVER、MAIL_PROT、MAIL_USERNAME和MAIL_PASSWORD
由于涉及到邮件密码,是不能放在程序当中,所以只能放在配置环境中,接下来就是环境变量配置:
如果你在Linux 或Mac OS X 中使用bash,那么可以按照下面的方式设定这两个变量:
(venv) $ export MAIL_USERNAME='xxx@gmail.com'
(venv) $ export MAIL_PASSWORD='xxxxx'

开始测试:

(venv) $ python hello.py shell
>>> from flask.ext.mail import Message
>>> from hello import mail
>>> msg = Message('填写邮件主题', sender='you@example.com',
.....recipients=['you@example.com'])
>>> msg.body = 'text body'
>>> msg.html = '<b>HTML</b> body'
>>> with app.app_context():
......mail.send(msg)

注意:这里的sender要与MAIL_USERNAME一致,recipents为收件邮箱地址
最终结果:


email
上一篇下一篇

猜你喜欢

热点阅读