文章内容
2018/2/12 10:39:28,作 者: 黄兵
454, b'Command not permitted when TLS active'
最近使用Flask发送163邮件的时候遇到了很多问题,前边根据报错提示,不断查询网络,现在问题已经解决,将问题记录下来,方便后人。
在配置发送邮件的时候报如下错误:
smtplib.SMTPResponseException: (454, b'Command not permitted when TLS active')
出现这个错误的原因是163邮箱不支持TLS,即使配置了MAIL_USE_TSL=flase,也会出现这个错误提示,最好的办法就是注释这段代码,错误代码如下:
# 163 mail config MAIL_SERVER = os.environ.get('MAIL_SERVER', 'smtp.163.com') MAIL_PORT = int(os.environ.get('MAIL_PORT', '465')) MAIL_USE_TLS = os.environ.get('MAIL_USE_TLS', 'false').lower() in \ ['true', 'on', '1','false'] MAIL_USE_SSL = os.environ.get('MAIL_USE_SSL', 'true') MAIL_USERNAME = os.environ.get('MAIL_USERNAME') MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') FLASKY_MAIL_SUBJECT_PREFIX = '[Flasky]' FLASKY_MAIL_SENDER = 'Flasky Admin' FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN')
修改代码如下:
# 163 mail config MAIL_SERVER = os.environ.get('MAIL_SERVER', 'smtp.163.com') MAIL_PORT = int(os.environ.get('MAIL_PORT', '465')) #MAIL_USE_TLS = os.environ.get('MAIL_USE_TLS', 'true').lower() in \ #['true', 'on', '1'] MAIL_USE_SSL = os.environ.get('MAIL_USE_SSL', 'true') MAIL_USERNAME = os.environ.get('MAIL_USERNAME') MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') FLASKY_MAIL_SUBJECT_PREFIX = '[Flasky]' FLASKY_MAIL_SENDER = 'Flasky Admin' FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN')
注意上面的注释行。
最后附上163邮箱常见问题列表:企业退信的常见问题?
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - 454, b'Command not permitted when TLS active'
评论列表