flask web开发--邮件
2018-05-11 本文已影响124人
BourneKing
-
应用场景
在web开发过程中,比如用户在注册成功时会收到web后台发的confirm邮件,或者忘记密码时,通过系统发出的邮件找回密码等。
官方文档:
flask-email
-
邮件服务器
目前邮件服务器的类型有三种,SMTP,POP,还有IMAP
关于这三种的区别,可以去看一下知乎上的回答:
https://www.zhihu.com/question/24605584
本教程是以Google mail的smtp服务器作为邮件服务器,原因方便。
-
测试应用
-
python shell方式的应用
-
首先,在使用谷歌邮件发送邮件时,必须要配置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为收件邮箱地址
最终结果: