IO错误 - Flask-mail和带代理的服务器

时间:2015-10-31 00:44:10

标签: python flask gunicorn flask-mail flask-script

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

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

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

当我使用任何用户(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不要安装=(

还有其他想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

查看smtplib源代码(https://hg.python.org/cpython/file/2.7/Lib/smtplib.py#l324),看起来就像你正在尝试写入stderr一样,这可能是运行时I / O错误的根源在服务器下。

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

相关问题