flask web 邮件发送问题(smtplib.SMTPSenderRefused: (503, \'Error: need EHLO and AUTH first !\'.)错误)
在狗书Flask web开发中,ch6使用的flask-mail存在某些问题:
1、用的谷歌Gmail,然而一般情况用不了,因此我使用qq邮箱来代替:
app.config[\'MAIL_SERVER\']=\'smtp.qq.com\'
这样既可
2、dalao们说qq邮箱用的是SSL协议,不用对TLS协议作出要求(其实我也不知道,需要恶补一下这种知识了),因此在配置时还需要对SSL协议内容做修改:
app.config[\'MAIL_USE_SSL\']=True
3、端口号:
app.config[\'MAIL_PORT\']=465
4、设置账号密码:这里的账号便是你使用的QQ邮箱的账号,但是密码并不是QQ密码!
密码并不是QQ密码!
密码并不是QQ密码!
重要的事情说三遍(认真脸)
这里的密码是QQ邮箱给的,具体获得如下:
1>进入网页邮箱:
2>点击设置
3>账户
4>下拉选取如下内容(只要第一个即可)
5>手机发短信,电脑上就会得到授权码,授权码便是密码!
完整代码如下:
from flask_mail import Mail #配置Flask-Mail使用QQmail app.config[\'MAIL_SERVER\']=\'smtp.qq.com\' app.config[\'MAIL_PORT\']=465 app.config[\'MAIL_USE_SSL\']=True app.config[\'MAIL_USERNAME\']=\'*********@qq.com\' app.config[\'MAIL_PASSWORD\']=\'***************\' mail=Mail(app)
python shell代码:
from app import * from flask_mail import Message msg=Message(\'Test Mail\',sender=\'********@qq.com\',recipients=[\'*********@qq.com\']) msg.body=\'test body\' msg.html=\'<b>哈哈哈哈哈哈哈</b>\' with app.app_context(): mail.send(msg)
ps:我没有采取作者设置系统变量的方法来写,感觉太难了hhh(其实是不会)