1
我使用django后端发送电子邮件(但在这种情况下确实是django是无效的),我可以通过独立客户端登录,但不能通过smtplib登录。我不断收到:尽管凭证很好,Smtplib返回身份验证失败
SMTPAuthenticationError (535, '5.7.0 authentication failed')
我使用django后端发送电子邮件(但在这种情况下确实是django是无效的),我可以通过独立客户端登录,但不能通过smtplib登录。我不断收到:尽管凭证很好,Smtplib返回身份验证失败
SMTPAuthenticationError (535, '5.7.0 authentication failed')
在我的情况看来,服务器谎称其回应下面就打招呼请求字符串:
>>> conn.ehlo()
(250,
'edited.host.name Hello host.name [83.24.32.123], pleased to meet you\nENHANCEDSTATUSCODES\nPIPELINING\n8BITMIME\nSIZE\nDSN\nETRN\nAUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN\nDELIVERBY\nHELP')
在它公开宣布支持CRAM-MD5
身份验证方法,它没有。
由于我很着急,并且与管理员解决此问题会在错过最后期限时结束,所以我必须修补SMTP类以更喜欢PLAIN
身份验证方法。为此,您需要创建SMTP_SSL
的子类并覆盖login
方法,只需从SMTP类中更改一行即可复制login
。
行更改,上面写着:
preferred_auths = [AUTH_CRAM_MD5, AUTH_PLAIN, AUTH_LOGIN]
到:
preferred_auths = [AUTH_PLAIN, AUTH_LOGIN]
反正我张贴的补丁的等级:http://pastebin.com/ecL9A3P4。