2

我有一个非常非常奇怪的错误......

我有一个使用烧瓶邮件发送电子邮件的烧瓶应用程序。

在 RedHat 服务器中,我尝试使用 runserver (flask-manager) 和 gunicorn。所以我有一个 apache 服务器使用代理连接到这个应用程序。

当我使用任何用户(root 或其他用户)运行该应用程序时,该应用程序运行并正常发送电子邮件。

但是当我关闭与服务器的会话(在终端中退出)时,它会停止发送邮件并给我这个堆栈跟踪:

    in send_mail
    return mail.send(msg)
  File "/usr/local/lib/python2.7/site-packages/flask_mail.py", line 415, in send
    with self.connect() as connection:
  File "/usr/local/lib/python2.7/site-packages/flask_mail.py", line 123, in __enter__
    self.host = self.configure_host()
  File "/usr/local/lib/python2.7/site-packages/flask_mail.py", line 144, in configure_host
    host.login(self.mail.username, self.mail.password)
  File "/usr/local/lib/python2.7/smtplib.py", line 575, in login
    self.ehlo_or_helo_if_needed()
  File "/usr/local/lib/python2.7/smtplib.py", line 535, in ehlo_or_helo_if_needed
    if not (200 <= self.ehlo()[0] <= 299):
  File "/usr/local/lib/python2.7/smtplib.py", line 406, in ehlo
    self.putcmd(self.ehlo_msg, name or self.local_hostname)
  File "/usr/local/lib/python2.7/smtplib.py", line 336, in putcmd
    self.send(str)
  File "/usr/local/lib/python2.7/smtplib.py", line 320, in send
    print>>stderr, 'send:', repr(str)
IOError: [Errno 5] Input/output error

与经理一起跑步:

  • python myapp.py

我使用 gunicorn 运行:

  • gunicorn -w 2 -b 0.0.0.0:8388 myapp:app

我真的被困在这里..当我使用 2 个不同的容器进行测试时...我没有任何其他想法可以解决它...使用 wsgi 我无法使其在此服务器上工作,因为根本没有安装 lib =(

还有其他想法吗?

谢谢!

4

1 回答 1

1

查看 smtplib 源(https://hg.python.org/cpython/file/2.7/Lib/smtplib.py#l324),看起来正在发生的事情是您正在尝试写入 stderr,这可能是源在服务器下运行时的 I/O 错误。

如果您在SMTP(...).debuglevel任何地方设置,请尝试删除该行。

于 2015-10-31T01:24:53.287 回答