2 wangdachui95345 wangdachui95345 于 2015.06.09 22:10 提问

python 发邮件 535, 'Error: authentication failed'
  import smtplib  
from email.mime.text import MIMEText  

mailto_list=["xxx@163.com"] 
mail_host="smtp.163.com"  
mail_user="xxxx@163.com"    
mail_pass="xxx"   


def send_mail(to_list,sub,content):  
                me="hello"
                msg = MIMEText(content,_subtype='html',_charset='gb2312')   
                msg['Subject'] = sub    
                msg['From'] = me  
                msg['To'] = ";".join(to_list)  
                try:  
                        s = smtplib.SMTP()  
                        s.connect(mail_host)
                        s.login(mail_user,mail_pass)  
                        s.sendmail(me, to_list, msg.as_string()) 
                        s.close()  
                        return True  
                except Exception, e:  
                        print str(e)  
                        return False  
if __name__ == '__main__':  
    if send_mail(mailto_list,"hello","<a href='http://www.cnblogs.com/'>hello</a>"):  
        print "success"  
    else:  
        print "fail"  

5个回答

frank_20080215
frank_20080215   2015.06.09 23:05
已采纳

认证出了问题。SMTP有两种,一种强制要求验证,称为ESMTP。还有一种不要求验证,早的版本。
确认一下该SMTP是否要求验证?

wangdachui95345
wangdachui95345 不太明白啊,能不能细说下,谢谢。 要求验证的话,怎么通过验证呢?
2 年多之前 回复
wangdachui95345
wangdachui95345   2015.06.09 22:16

百度都是说认证出了问题,但是密码和账号都是对的,而且邮箱也开启了smtp服务,请帮帮忙啊。是不是还有什么细节。

oyljerry
oyljerry   Ds   Rxr 2015.06.09 22:33

163不一定支持你这么做,估计光有邮箱,密码不够

zxy871219
zxy871219 我也遇到同样的问题,楼主是否已解决,谢谢
大约 2 年之前 回复
wangdachui95345
wangdachui95345 我看网上分享的例子大部分都是基于163实现的,是不是还需要添加些什么? 谢谢。。
2 年多之前 回复
edouardzyc
edouardzyc   2015.06.10 08:50

有的时候是通过账号和密码验证
有的时候是通过邮箱地址和密码验证,你试试用 mail_user 不要加@163.com

wangdachui95345
wangdachui95345 试过了,不加@163.com还是不行啊,谢谢你的回答。。。
2 年多之前 回复
python_tty
python_tty   2016.01.07 22:34

我也遇到同样的问题,不知楼主解决了吗?

Csdn user default icon
上传中...
上传图片
插入图片