我有一个flask应用程序,使用flask-mail来发送电子邮件,使用相同的邮件设置,我可以从MacBook Pro本地成功发送电子邮件。但是,当我在Ubuntu14.04的EC2上使用相同的电子邮件设置部署相同的代码时,我无法发送电子邮件并出现以下错误:

send: 'ehlo flasks-app-server1.localdomain\r\n'
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/srv/www/flasky/app/email.py", line 9, in send_async_email
    mail.send(msg)
  File "/usr/local/lib/python2.7/dist-packages/flask_mail.py", line 415, in send
    with self.connect() as connection:
  File "/usr/local/lib/python2.7/dist-packages/flask_mail.py", line 123, in __enter__
    self.host = self.configure_host()
  File "/usr/local/lib/python2.7/dist-packages/flask_mail.py", line 142, in configure_host
    host.starttls()
  File "/usr/lib/python2.7/smtplib.py", line 642, in starttls
    self.ehlo_or_helo_if_needed()
  File "/usr/lib/python2.7/smtplib.py", line 542, in ehlo_or_helo_if_needed
    if not (200 <= self.ehlo()[0] <= 299):
  File "/usr/lib/python2.7/smtplib.py", line 413, in ehlo
    self.putcmd(self.ehlo_msg, name or self.local_hostname)
  File "/usr/lib/python2.7/smtplib.py", line 341, in putcmd
    self.send(str)
  File "/usr/lib/python2.7/smtplib.py", line 333, in send
    raise SMTPServerDisconnected('please run connect() first')
SMTPServerDisconnected: please run connect() first


我用谷歌搜索了大约两个小时,找不到解决方案。有什么帮助吗?谢谢!!

最佳答案

我想到了。我AWS SES需要验证不同区域的电子邮件。对于正在使用的新区域,我没有这样做。

关于python - 使用Ubuntu 14.04的EC2上的flask-mail SMTPServerDisconnected错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35051810/

10-12 13:08