2

私は非常に奇妙なバグを抱えています...

フラスコメールを使用して電子メールメッセージを送信するフラスコアプリがあります。

RedHat Server で runserver (flask-manager) と gunicorn を使ってみました。したがって、プロキシを使用してこのアプリに接続するApacheサーバーがあります。

任意のユーザー (ルートまたはその他) を使用してアプリを実行すると、アプリが実行され、通常どおりメールが送信されます。

しかし、サーバーとのセッションを閉じると (ターミナルで終了)、メールの送信が停止し、次のスタック トレースが表示されます。

    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 に答える