2009-04-19 3 views
3

Мне нужно отправить электронное письмо в delbian linux. Как отправить? Я запускаю свой сервер на ящике с 256 Мбайт, и я слышал, что postfix и sendmail переполнены.Как отправить почту в python ssmtp vs smtplib

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

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

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

ответ

5

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

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

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

+1

хорошая информация. Большое спасибо – Krish

+0

Мне кажется, что ssmtp также позволяет вам скрыть учетные данные учетной записи и ограничивает, что ваше приложение может делать для отправки почты. Я что-то упускаю? – kberg

2

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

1

Есть другие легкие SMTP-отправители, такие как msmtp, которые я предпочитаю.

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

Смежные вопросы