как отправлять почту на python ssmtp против smtplib

StackOverflow https://stackoverflow.com/questions/764778

  •  12-09-2019
  •  | 
  •  

Вопрос

Мне нужно отправить электронное письмо в delbian linux.Как отправить?Я запускаю свой сервер на 256 МБ linux box и слышал, что postfix и sendmail - это перебор.

Недавно я наткнулся на ssmtp, который, похоже, является исполняемым файлом, должен выполняться как процесс и вызываться через python с использованием модулей операционной системы.

в качестве альтернативы, python уже предоставляет smtplib, который у меня прекрасно работает.

В чем преимущество использования ssmtp по сравнению с smtplib на python?

Это было полезно?

Решение

В программе на Python нет никаких преимуществ.

Единственное назначение ssmtp - обернуть протокол SMTP в sendmail API.То есть, он предоставляет программу /usr/sbin/sendmail который принимает те же параметры, аргументы и входные данные, что и полноценный sendmail (хотя большинство параметров ничего не делают);но за кулисами, вместо того чтобы обрабатывать само электронное письмо, оно отправляет сообщение на SMTP-сервер.Это предназначено для систем, которые должны иметь sendmail программы присутствуют, возможно, потому, что они не понимают SMTP - например, я думаю, что в старых версиях PHP было это требование, и даже в последних версиях все еще может быть проще настроить PHP для использования так называемого интерфейса sendmail (т.Е.программа sendmail), чем использовать SMTP напрямую.(Я давно не пользовался PHP, я не уверен в текущем статусе)

Однако в Python ситуация обратная:у вас есть встроенная библиотека, которая упрощает прямое использование SMTP, в то время как использование sendmail требует, чтобы вы вызвали subprocess модуль, который несколько неуклюж, а также очень зависит от вещей, которые не являются частью Python.Так что в принципе нет причин не использовать smtplib.

Другие советы

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

Существуют и другие облегченные SMTP-отправители, такие как msmtp, тот, который я предпочитаю.

Но Postfix подходит для компьютера с 256 Мбайт.Чем хорош полный MTA, подобный Postfix, так это тем, что он сохраняет сообщение и повторяет попытку, если конечный сервер не работает.С помощью smtplib и сервера на удаленном компьютере ваше программирование теперь зависит от сети...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top