Python smtplib登录错误smtplib.SMTPException:服务器不支持STARTTLS扩展

Hus*_*eer 2 python email smtplib

我正在尝试使用python中的smtplib连接到公司的电子邮件服务器,这是我的代码段:

server = smtplib.SMTP('mail.mycompany.com',25)
server.ehlo()        
server.starttls()
server.login('my_email@mycompany.com', 'my_password')
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,出现以下错误:

smtplib.SMTPException:服务器不支持STARTTLS扩展。

在Google上搜索此错误后,我发现我公司的smtp服务器不支持starttls身份验证,因此我必须从代码中删除server.starttls()此行,但是当我删除此行时,出现以下错误:

smtplib.SMTPException:服务器不支持SMTP AUTH扩展。

我花了一整天的时间搜索这些错误,但没有找到任何解决方案。

yen*_*niv 6

可能您不需要登录到服务器。当我连接到公司的SMTP服务器时,我不必这样做。因此,您可以尝试执行以下操作:

server = smtplib.SMTP('mail.mycompany.com',25)
server.ehlo()        
server.sendmail('my_email@mycompany.com', 'my_email@mycompany.com', msg)
Run Code Online (Sandbox Code Playgroud)

  • 您刚刚使我免于创建一个多余的 SO 问题,为此 +1!我不知道提问者,但你的解决方案对我有用,我也在公司服务器上工作,而 smtp.login() 是问题所在,你的回答解决了它 (2认同)