2009-04-19 13 views
3

Ich muss E-Mail in Debian Linux senden. Wie senden? Ich betreibe meinen Server auf 256 MB Linux-Box und ich hörte Postfix und sendmail ist übertrieben.wie mail in python senden ssmtp vs smtplib

Kürzlich stieß ich auf die ssmtp, die scheint, eine ausführbare Datei zu sein, muss als ein Prozess ausgeführt werden und durch Python mit os-Modulen aufgerufen werden.

Alternativ bietet Python bereits smtplib, die mit mir gut funktioniert.

Was ist der Vorteil der Verwendung von ssmtp über Pythons smtplib?

Antwort

5

In einem Python-Programm gibt es keinen Vorteil.

Der einzige Zweck von ssmtp besteht darin, das SMTP-Protokoll in der sendmail-API zu verpacken. Das heißt, es stellt ein Programm /usr/sbin/sendmail bereit, das die gleichen Optionen, Argumente und Eingaben wie das vollständige sendmail akzeptiert (obwohl die meisten Optionen nichts tun); Aber im Hintergrund, anstatt die E-Mail selbst zu verarbeiten, sendet sie die Nachricht an einen SMTP-Server. Dies ist für Systeme, die ein sendmail Programm haben müssen, vielleicht, weil sie SMTP nicht verstehen - zum Beispiel glaube ich, ältere Versionen von PHP hatten diese Anforderung, und selbst in neueren Versionen könnte es noch einfacher sein, PHP zu konfigurieren die sogenannte sendmail-Schnittstelle (dh das Programm sendmail) als SMTP direkt zu verwenden. (Ich habe PHP nicht in kurzer Zeit verwendet, ich bin mir nicht sicher über den aktuellen Status)

In Python ist die Situation jedoch umgekehrt: Sie haben eine integrierte Bibliothek, die es einfach macht, SMTP direkt zu verwenden Die Verwendung von sendmail erfordert, dass Sie das subprocess-Modul aufrufen, das etwas klobig und auch sehr abhängig von Dingen ist, die nicht Teil von Python sind. Es gibt also grundsätzlich keinen Grund, smtplib nicht zu verwenden.

+1

gute Informationen. Vielen Dank – Krish

+0

Scheint mir, dass ssmtp auch ermöglicht Ihnen, Ihre Kontoanmeldeinformationen zu verbergen, und begrenzt, was Ihre App zum Senden von E-Mails tun kann. Fehle ich etwas? – kberg

2

Zusätzlich postfix ist sehr einfach in „Satellit“ Modus zu installieren, wo alle es tut, ist Warteschlange und liefern E-Mail für Sie. Viel einfacher als die Implementierung einer eigenen E-Mail-Warteschlange. Die meisten anständigen Paket-Management-Systeme können Sie so konfigurieren.

1

Es gibt andere leichte SMTP-Absender, wie msmtp, die ich bevorzuge.

Aber Postfix ist in Ordnung für eine 256 Mb-Maschine. Die gute Sache über eine vollständige MTA wie Postfix ist, dass es die Nachricht hält und erneut versucht, wenn der Zielserver ausgefallen ist. Mit smtplib und dem Server auf einem Remote-Rechner, das Programm ist jetzt abhängig von der Netzwerk ...

Verwandte Themen