关于发邮件报错535 Error:authentication failed解决方法

关于发邮件报错535 Error:authentication failed解决方法


写在最前面

相信看到535报错的同学代码编写方面都没有问题,只是不明白为什么填写了帐号密码后还是报535错误,这里我以163邮箱为例,并使用Python讲解怎么解决535问题

1. 先编写一个最简单的发邮件的python脚本

#coding: utf-8  
import smtplib
from email.mime.text import MIMEText
from email.header import Header

sender = 'huochen1994@163.com'
receiver = 'huochen1994@126.com'
subject = 'python email test'
smtpserver = 'smtp.163.com'
username = 'huochen1994@126.com'
password = '*********'

msg = MIMEText( 'Hello Python', 'text', 'utf-8' )
msg['Subject'] = Header( subject, 'utf-8' )

smtp = smtplib.SMTP()
smtp.connect( smtpserver )
smtp.login( username, password )
smtp.sendmail( sender, receiver, msg.as_string() )
smtp.quit()

2. 运行结果

如果在上述代码usernamepassword,变量中填写邮箱的帐号密码那么会看到以下报错:

Traceback (most recent call last):
  File "mail.py", line 18, in <module>
    smtp.login( username, password )  
  File "/usr/lib64/python2.6/smtplib.py", line 589, in login
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, 'Error: authentication failed')

3. 解决方法

调用163邮箱服务器来发送邮件,我们需要开启POP3/SMTP服务,这时163邮件会让我们设置客户端授权码,这个授权码替代上面代码部分的passwd即可成功发送邮件

评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值