Discuss / Python / 客户端授权密码验证错误

客户端授权密码验证错误

Topic source

宋镇淇

#1 Created at ... [Delete] [Delete and Lock User]
Traceback (most recent call last):
  File "E:/new Demo/sendEmail.py", line 25, in <module>
    server.login(from_addr, password)
  File "C:\Python34\lib\smtplib.py", line 651, in login
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed')

我是在两个126邮箱之间发送的,但是一直报这个错误。 我查了一下,网易是封住了第三方客户端的smtp服务的,只允许使用客户端授权密码(不是一般的网页上登陆用密码)。 要在邮箱内设置。

可是即使使用了这个客户端密码。程序执行到最后的quit语句时仍然会报错。

reply: retcode (250); Msg: b''
data: (250, b'')
send: 'quit\r\n'
Traceback (most recent call last):
  File "E:/new Demo/sendEmail.py", line 33, in <module>
    server.quit()
  File "C:\Python34\lib\smtplib.py", line 867, in quit
    res = self.docmd("quit")
  File "C:\Python34\lib\smtplib.py", line 403, in docmd
    return self.getreply()
  File "C:\Python34\lib\smtplib.py", line 376, in getreply
    raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed

然后检查邮箱依然看不到发送的邮件啊。

宋镇淇

#2 Created at ... [Delete] [Delete and Lock User]

我找到问题了。。。

看来是要加上

msg['From'] = _format_addr('Python爱好者 <%s>' % from_addr)
msg['To'] = _format_addr('管理员 <%s>' % to_addr)
msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode()

相关的代码,否则邮箱(目前试了 126和QQ)是不认的。

无渺

#3 Created at ... [Delete] [Delete and Lock User]

请问加入了什么相关代码啊。我QQ发给163的邮件就是像你说的需要一个独立密码!

Confidendure

#4 Created at ... [Delete] [Delete and Lock User]

那些用SSL加密的同学们,在运行代码时把

server = smtplib.SMTP(smtp_server, smtp_port)

行中的smtplib.SMTP改为smtplib.SMTP_SSL


  • 1

Reply