如果用python一直发送邮件失败,出现SMTP AUTH extension not supported by server,我们该怎么解决
首先我们得排查问题
我们先直接测试ehlo()是否可以
import smtplib
s = smtplib.SMTP('邮箱的地址',25)#25是端口号
#这里有一点是需要注意的是,就是如果是采用ssl协议的,那么我们这里就要进行微调
#s = smtplib.SMTP_SSL('邮箱的地址',587/465)#如果是使用587/467这些端口那么就要使用SSL协议
s.ehlo()
如果输出内容是
(250, 'relay02.testdomain.com\nPIPELINING\nSIZE 34603008\nETRN\nSTARTTLS\nENHANCEDSTATUSCODES\n8BITMIME\nDSN')
那么说明端口是没问题的
我们再去测试tls协议
s.starttls()
如果输出内容是
(220, '2.0.0 Ready to start TLS')
说明是可以使用TLS协议的,既然这样
我们再去使用login()登入
s.login('你的邮箱','密码')
如果报错的内容是:
smtplib.SMTPException: SMTP AUTH extension not supported by server.
说明是login这一块出了问题
我们可以直接不要login这个方法
直接就是发送邮箱试试
s.sendmail('你的邮箱',['收件人邮箱'],'test')
然后就很奇妙的成功