Отправка почты с помощью smtplib работает при локальном развертывании, но не работает при развертывании в рое (невозможно назначить запрошенный адрес) - PullRequest
1 голос
/ 29 мая 2020

У нас есть контейнер со службой python flask, которая прослушивает порт 5000. Нам нужно иметь возможность отправлять электронные письма с уведомлениями из этого контейнера на smtp.office365.com на порт 587.

Этот контейнер при развертывании на локальной машине работает отлично, но при развертывании на сервере роя возвращается следующий код ошибки: [Errno 99] Невозможно назначить запрошенный адрес

Из информации, которую я нашел, Я предполагаю, что существует проблема с настройкой исходящего соединения при отправке электронной почты, но я все еще не уверен, какая дополнительная конфигурация нужна контейнеру для отправки электронной почты при развертывании в рое по сравнению с развертыванием в локальном режиме. .

В файле dockerfile только порт 5000 открыт и привязан к серверу flask.

При отправке электронной почты с помощью smtplib требуется, чтобы только порт SMTP-сервера был указано (587 в моем случае).

Что я мог упустить? Нужно ли для этого выставлять новые порты? Может быть проблема с привязкой к localhost? У меня нет четкого представления о пути следования почты, поскольку она отправляется с моего кода python до тех пор, пока не будет доставлена ​​на сервер smtp.

1 Ответ

0 голосов
/ 28 июля 2020

Возникла та же проблема, но при использовании docker -compose. Работает после того, как я открыл порт "587", используя compose

- ports
  - "587:587"
...