按照官方文档或者是一些著名的Flask教程如Flask web开发编写的email server配置实例代码基本都是用的gmail。由于我们用gmail不方便,而且做flask服务器邮箱不稳定(国内),具体表现在发的邮件有时候收不到,或者延时很久受到。所以国内用163邮箱或者qq邮箱的比较好。但是这些邮箱的smtp配置和gmail的配置是有区别的(以前是一样的,后来国内邮箱换技术了。这也告诉我们知识是有保质期的)。
本博客将介绍国内邮箱的Flask的配置,当然要点适用于所有web框架的email配置。
Gmail配置:
app.config['MAIL_SERVER'] = 'smtp.gmail.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') # 这里的MAIL_USERNAME 为你的gmail邮箱 # 这里的MAIL_PASSWORD 为你的gmail密码,这是你的实际密码, # 就是你登录gmail邮箱时用的密码,这和国内邮箱是有区别的1234567812345678
163 Mail
app.config['MAIL_SERVER'] = 'smtp.163.com' app.config['MAIL_PORT'] = 465 app.config['MAIL_USE_TLS'] = True app.config['MAIL_USERNAME'] = os.environ.get('MAIL_USERNAME') app.config['MAIL_PASSWORD'] = os.environ.get('MAIL_PASSWORD') # 这里的邮箱为你的163邮箱,密码为你在163邮箱里面的 # (设置 -> POP3/SMTP/IMAP -> 客户端授权密码) 里面设置的 # 而不是实际你登录163邮箱的密码 # 协议用SSL协议而不是TLS协议(我测试的是TLS协议不成功)123456789123456789
国内的其余邮箱如qq,sina配置和163大体相同,密码那一块和gmail区别很大,需要注意