最新消息:20181230 VPS服务器已从Linode换到腾讯云香港,主题仍用朋友推荐的大前端D8

【已解决】Python中smtp用163账号发送邮件出错:550 User has no permission

Python crifan 1728浏览 0评论

折腾:

【已解决】Python中如何把smtp的From和To进行Header编码

期间,遇到用green-waste@163.com去用账号和密码去登录smtp想要去发邮件,结果登录就出错:

去把发件人换一下

但是还是163的发送给另外一个163和crifan.com

结果竟然:

    smtpObj.login(sender, senderPassword)

  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py", line 622, in login

    raise SMTPAuthenticationError(code, resp)

smtplib.SMTPAuthenticationError: (550, ‘User has no permission’)

但是同样代码,之前用crifan@2003.com去登录就可以的。

smtp 163 550 User has no permission

邮箱不可用 550 User has no permission – CSDN博客

http://blog.csdn.net/hughnes/article/details/52070878

去分别登录两个163账号,去看看配置有什么不一样

好像默认没有开启smtp?

再去另外账号看看:

果然是:

这个账号开启了163的POP和SMTP

所以解决办法就简单了:

【总结】

去开启这个163账号中的smtp服务:

登录163邮箱-》设置-〉POP3/SMTP/IMAP

->POP3/SMTP/IMAP->设置POP3/SMTP/IMAP:勾选上:

  • POP3/SMTP服务

  • IMAP/SMTP服务

您已启用授权码,请使用授权码登录第三方邮件客户端

所以,后续去登录的话,试试直接用授权码去登录

回来确认smtp,的确已经开启了:

即可。

还收到了短信通知授权码开通呢:

然后去试试用授权码是否可以登录。

代码:

smtpObj = smtplib.SMTP(smtpServer, smtpPort)

smtpObj.set_debuglevel(1)

smtpObj.login(sender, senderPassword)

是可以正常登录了。

【总结】

之前的163邮箱,默认没有开启的smtp服务。

现在想要去开启的话,需要先去开启授权码。

开启授权码后,此处python代码中smtp直接用授权码即可当作密码去登录。

转载请注明:在路上 » 【已解决】Python中smtp用163账号发送邮件出错:550 User has no permission

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
61 queries in 0.060 seconds, using 9.47MB memory