python发邮件不出原因_解决Python不能发邮件问题

今天一下午就在搞它了。

先附上源代码:

#coding:utf-8

import smtplib

from email.mime.text import MIMEText

from email.header import Header

sender = "xx@163.com"

receiver = "yy@qq.com"

subject = "测试邮件"

smtpserver = "smtp.163.com"

user = 'xx@163.com'

password = 'mima'

msg = MIMEText('你好','text','utf-8')

msg['Subject'] = Header(subject,'utf-8')

msg['From'] = 'xx@163.com'#这句和下面那句话随便加不加都行。

msg['To'] = 'yy@qq.com'

smtp = smtplib.SMTP()

smtp.connect('smtp.163.com')

#smtp.connect('smtp.exmail.qq.com')#使用qq邮箱登录发邮件时用这个。

smtp.login(user,password)

smtp.sendmail(sender,receiver,msg.as_string())

smtp.quit()开始琢磨了半天,总是出现这个错误

SMTPAuthenticationError: (535, 'Authentication failed')

后天网上查了下http://blog.youkuaiyun.com/moxien/article/details/4273923

需要这样修改才能发,

按照网上的在smtplib.py上修改:

elif authmethod == AUTH_LOGIN:

#modi start 添加代碼

(code, resp) = self.docmd("AUTH", AUTH_LOGIN)

if code == 334:

(code, resp) = self.docmd(base64.encodestring(user)[:-1])

if code == 334:

(code, resp) = self.docmd(base64.encodestring(password)[:-1])但是还是没能成功,好纳闷,下午就耗在这了。

再后来继续百度呗,看了一个又一个文章,发现:

http://blog.youkuaiyun.com/bruce128/article/details/8761949

这个博主是正解,原来还需要开启下QQ邮箱的smtp服务器设置!!!我擦勒。

。。。好吧,屁颠屁颠改了,哈哈 果然好了   谢谢博主啊~~~

后来我把原版的smtplib.py又粘贴了回去,发现。。。原来不改也可以,这是为什么?

额 , 难道是侥幸?醉了醉了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值