服务器不支持STARTTLS扩展

XXX*_*XXX 13 python email

这可能是一个重复的问题,但我仍然面临着这方面的问题,希望有一个解决方案.提前致谢.

我正在尝试通过公司的服务器发送邮件

我目前正在使用Python 2.6和Ubuntu 10.04

这是我收到的错误消息

Traceback (most recent call last):

  File "hxmass-mail-edit.py", line 227, in <module>
    server.starttls()

  File "/usr/lib/python2.6/smtplib.py", line 611, in starttls
    raise SMTPException("STARTTLS extension not supported by server.") smtplib.SMTPException: STARTTLS extension not supported by server.
Run Code Online (Sandbox Code Playgroud)

这是代码的一部分

server = smtplib.SMTP('smtp.abc.com', 587)
server.set_debuglevel(1)
server.ehlo()
server.starttls()
server.ehlo()
server.login('sales@abc.com', 'abc123')
addressbook=sys.argv[1]
Run Code Online (Sandbox Code Playgroud)

小智 9

我在尝试通过公司的服务器发送邮件时遇到了类似的问题(无需身份验证)

我解决了删除server.ehlo和删除端口号的问题:

server = smtplib.SMTP("smtp.mycompany.com")
server.sendmail(fromaddr, toaddr, text)
Run Code Online (Sandbox Code Playgroud)


小智 7

删除ehlo()之前starttls().

starttls() + ehlo()导致两条HELLO消息导致服务器删除STARTTLS回复消息.

server = smtplib.SMTP('smtp.abc.com', 587)
server.starttls()
server.ehlo()
server.login('sales@abc.com', 'abc123')
Run Code Online (Sandbox Code Playgroud)


Ole*_*xiy 6

删除server.ehlo()之前server.starttls()帮助我让我的代码工作!谢谢你,伦纳德!我的代码:

s = smtplib.SMTP("smtp.gmail.com",587)
s.starttls()
s.ehlo
try:
    s.login(gmail_user, gmail_psw)
except SMTPAuthenticationError:
    print 'SMTPAuthenticationError'
s.sendmail(gmail_user, to, msg.as_string())
s.quit()
Run Code Online (Sandbox Code Playgroud)


Fer*_*ran 3

该错误说明了一切,似乎您正在使用的 SMTP 服务器不支持 STARTTLS 并且您发出了server.starttls(). 尝试使用服务器而不调用server.starttls()

没有更多信息是我唯一能说的。