Задать вопрос
@plx49638

Как отправлять почту Python без использования сторонних SMTP?

Здравствуйте.
Подскажите библиотеку для отправки писем на Python?
На прямую, без использования сторонних SMTP серверов.
  • Вопрос задан
  • 184 просмотра
Подписаться 1 Средний 3 комментария
Решения вопроса 1
ValdikSS
@ValdikSS
Вы можете использовать системный mail transfer agent вызовом через subprocess (обычно это команда sendmail), передавая ему содержимое письма. Если на сервере настроен полноценный MTA, то sendmail отправит письмо напрямую, без сторонних SMTP-серверов.
Формировать письмо можно с помощью стандартной библиотеки email.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
Таким образом можно отправлять письма только на свой корпоративный почтовый сервер.
Любой публичный почтовый сервер получателей сейчас использует дефолтные почтовые фильтры, которые сразу отвергнут ваше письмо. Разве что на сервере получателя договариваться о настройке исключения.

Чтобы ваш почтовый сервер хоть как-то котировался (это то, что вы хотите сделать - временный свой почтовый сервер, который сразу отправляет письмо на сервер получателя), его нужно зарегать в ДНС, ему нужно зарегать обратный PTR, он должен уметь отвечать на приходящие письма (многие почтовые сервера, когда видят первый раз письмо откуда-то, пытаются туда отправить свое, чтобы проверить вообще что это реальный почтовый сервер, а не очередной спаммер).

Поэтому следует уточнить задачу - если вы отправляете письмо сами себе для мониторинга, то библиотек полно. Протокол smtp очень простой, хоть напрямую телнетом шли. Главное чтобы ваше письмо там не зарежектили.
Ответ написан
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Без посредника скорее всего не получится.
Ибо smtp теперь совсем непрост. Он с кучей криптографии, записями dns, подтверждениями и прочей херотой. Мало того, многие почтовики на первое письмо выдают ошибку, подращумевая, что не спамер булет посылать письмо повторно, а спамер - нет.
Проще завести свой почтовый сервер для своего домена, и через него отправлять почту
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы