Flask Почта не работает внутри контейнера - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть Flask приложение, которое отправляет почту. Я указал свой SMTP-сервер и порты внутри приложения. Это прекрасно работает на моей локальной машине. Я хочу запустить это приложение внутри контейнера. Я показал порт 5000 по умолчанию flask и сопоставил порт с локальной машиной во время работы контейнера. Но он не может отправить почту, ошибка, которую я получаю, заключается в следующем.

   Traceback (most recent call last):
  File "/root/.local/share/virtualenvs/ATEC-C7cLNkeV/lib/python3.8/site-packages/apscheduler/executors/base.py", line 125, in run_job
    retval = job.func(*job.args, **job.kwargs)
  File "/ATEC/application/routes.py", line 107, in weeklymail
    mail.send(msg)
  File "/root/.local/share/virtualenvs/ATEC-C7cLNkeV/lib/python3.8/site-packages/flask_mail.py", line 491, in send
    with self.connect() as connection:
  File "/root/.local/share/virtualenvs/ATEC-C7cLNkeV/lib/python3.8/site-packages/flask_mail.py", line 144, in __enter__
    self.host = self.configure_host()
  File "/root/.local/share/virtualenvs/ATEC-C7cLNkeV/lib/python3.8/site-packages/flask_mail.py", line 156, in configure_host
    host = smtplib.SMTP_SSL(self.mail.server, self.mail.port)
  File "/usr/local/lib/python3.8/smtplib.py", line 1034, in __init__
    SMTP.__init__(self, host, port, local_hostname, timeout,
  File "/usr/local/lib/python3.8/smtplib.py", line 253, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/local/lib/python3.8/smtplib.py", line 339, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/local/lib/python3.8/smtplib.py", line 1040, in _get_socket
    new_socket = socket.create_connection((host, port), timeout,
  File "/usr/local/lib/python3.8/socket.py", line 808, in create_connection
    raise err
  File "/usr/local/lib/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)
TimeoutError: [Errno 110] Operation timed out
...