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(其实是不会)