как отправлять почту на python ssmtp против smtplib
Вопрос
Мне нужно отправить электронное письмо в 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 и сервера на удаленном компьютере ваше программирование теперь зависит от сети...