определить smtp сервер для данного адреса электронной почты python smtplib - PullRequest
1 голос
/ 25 марта 2019

Учитывая адрес электронной почты, можно определить, какой адрес SMTP использует Python.Я строю почтовое приложение, используя python smtplib.

Спасибо

1 Ответ

1 голос
/ 26 марта 2019

Модуль Python smtplib не выполняет маршрутизацию почты, поэтому оставляет его на интеллектуальном хосте .

Вы можете использовать dnspython для поиска записей MX для домена назначения (и записей A и AAAA, если записи MX нет).Полученный адрес можно затем передать smtplib.

Однако это лишь малая часть работы, необходимой для реализации правильной маршрутизации почты: если целевой почтовый сервер недоступен или время ожидания истекло, выдолжны попробовать следующий сервер.Аналогично, если он отвечает кодом ошибки 4xx.Если все серверы недоступны, вам нужно временно сохранить сообщение локально, поэтому вам нужно создать собственную почтовую очередь.Кроме того, ваш внешний IP-адрес может быть занесен в черный список для доставки почты.

Поэтому обычно проще установить локальный почтовый сервер, такой как Exim или Postfix и использоватьчтобы вводить почту, возможно, направляя ее через промежуточный узел с хорошей репутацией электронной почты, чтобы избежать внесения в черный список.

...