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

时间:2015-11-09 07:02:29

标签: python email smtplib

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

server = smtplib.SMTP('mail.mycompany.com',25)
server.ehlo()        
server.starttls()
server.login('my_email@mycompany.com', 'my_password')

当我运行我的代码时,我收到以下错误:

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

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

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

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

2 个答案:

答案 0 :(得分:3)

您可能不需要登录服务器。当我连接到公司的SMTP服务器时,我没有必要。所以你可以尝试类似的东西:

server = smtplib.SMTP('mail.mycompany.com',25)
server.ehlo()        
server.sendmail('my_email@mycompany.com', 'my_email@mycompany.com', msg)

答案 1 :(得分:0)

我可以通过添加服务器名称的端口号来解决修改下面一行代码的问题:

server = smtplib.SMTP('mail.mycompany.com:587')     
server.starttls()
server.login('my_email@mycompany.com', 'my_password')