Amazon SES SMTP Python 用法

2024-03-04

我试图诊断为什么通过 Amazon SES 发送电子邮件无法通过 python 工作。

以下示例演示了该问题,其中user and pass设置为适当的凭据。

>>> import smtplib
>>> s = smtplib.SMTP_SSL("email-smtp.us-east-1.amazonaws.com", 465)
>>> s.login(user, pw)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/smtplib.py", line 549, in login
    self.ehlo_or_helo_if_needed()
  File "/usr/lib/python2.6/smtplib.py", line 510, in ehlo_or_helo_if_needed
    (code, resp) = self.helo()
  File "/usr/lib/python2.6/smtplib.py", line 372, in helo
    (code,msg)=self.getreply()
  File "/usr/lib/python2.6/smtplib.py", line 340, in getreply
    raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed

此消息不是特别有用,并且已尝试其他版本,但似乎无法使其工作。

我可以使用我的 Thunderbird 电子邮件客户端通过这些设置发送电子邮件,所以我的假设是我正在执行与 TLS 相关的任务。


我认为 SMTP_SSL 不再适用于 SES。必须使用starttls()

smtp = smtplib.SMTP("email-smtp.us-east-1.amazonaws.com")
smtp.starttls()
smtp.login(SESSMTPUSERNAME, SESSMTPPASSWORD)
smtp.sendmail(me, you, msg)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Amazon SES SMTP Python 用法 的相关文章

随机推荐