python smtp邮件发送失败怎么办
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python smtp邮件发送失败怎么办相关的知识,希望对你有一定的参考价值。
原创:失败原因可能有如下:1、主机与邮件服务器网络不通;2、邮件发送账号密码未设置或者设置不正确;3、python语法不正确
解决办法:1、主机与邮件服务器网络不通:需要保证主机可以正常访问外网,这样就可以访问到邮件服务器了。2、邮件账号密码未设置或者不正确:首先通过其他浏览器进行邮箱登陆验证,若可以正常登录说明邮箱账号正确,再根据你自己设置的邮箱账号配置文件的格式要求进行修改即可。3、python语法不正确,脚本编写完成之后可以执行如下命令进行语法校验:pyhton -c sendmail.py 这样就可以校验你的sendmail.py脚本的语法是否有问题,若有问题只需要根据提示定位到相应的行进行修正即可。 参考技术A
以下代码调试通过:
# coding: utf-8import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = 'xxxxxx@139.com'
receiver = 'lu.han@beebank.com'
subject = 'python email test'
smtpserver = 'smtp.139.com'
username = '15010048427@139.com'
password = 'xxxxxx'
msg = MIMEText('你好', 'text', 'utf-8') # 中文需参数‘utf-8',单字节字符不需要
msg['Subject'] = Header(subject, 'utf-8')
smtp = smtplib.SMTP()
smtp.connect('smtp.139.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
运行效果:
使用Python的smtp发送邮件失败
用网易邮箱的话是SMTPAuthenticationError: (550, b'User has no permission')
QQ邮箱是Connection unexpectedly closed
的确没开启……不过开启以后目标邮箱(收信邮箱)是QQ邮箱的话还是不行。
(554, b'DT:SPM 163
please see http://mail.163.com/help/help_spam_16.htm?ip=60.12.8.177&hostid=smtp3&time=1526269022')
不是返回了错误的链接吗?你访问看看啊
本回答被提问者和网友采纳以上是关于python smtp邮件发送失败怎么办的主要内容,如果未能解决你的问题,请参考以下文章
linux PHPMailer 发送邮件sendmail 发邮件失败问题