2009-04-19 87 views
3

我需要在delbian linux中發送郵件。如何發送?我在256 MB的Linux機器上運行我的服務器,我聽說postfix和sendmail是矯枉過正的。如何在python ssmtp發送郵件vs smtplib

最近我遇到了ssmtp,這似乎是一個可執行文件,需要作爲一個進程執行,並通過使用os模塊調用python。

或者,python已經提供了smtplib,它可以正常工作。

使用ssmtp優於python的smtplib有什麼優勢?

回答

5

在Python程序中,沒有優勢。

ssmtp的唯一目的是將SMTP協議包裝在sendmail API中。也就是說,它提供了一個程序/usr/sbin/sendmail,它接受與完整的sendmail相同的選項,參數和輸入(儘管大多數選項什麼都不做);但在幕後,它不是處理電子郵件本身,而是將郵件發送到SMTP服務器。這適用於需要有sendmail程序的系統,這可能是因爲他們不瞭解SMTP - 例如,我認爲老版本的PHP有這個要求,甚至在最近的版本中,配置PHP也可能更容易使用所謂的sendmail接口(即程序sendmail)比直接使用SMTP。 (我有一段時間沒有使用PHP,但我不確定當前狀態)

但是,在Python中,情況正好相反:您有一個內置庫,可以直接使用SMTP,而使用sendmail需要你調用subprocess模塊,它有點笨重,也非常依賴於不屬於Python的東西。所以基本上沒有理由不使用smtplib

+1

好信息。非常感謝 – Krish 2009-04-20 18:04:53

2

此外,後綴是非常容易安裝在「衛星」模式,它所做的就是排隊和爲您提供電子郵件。比實施自己的電子郵件隊列更容易。大多數體面的軟件包管理系統將允許您以這種方式進行配置

1

還有其他輕量級SMTP發件人,例如msmtp,我更喜歡。

但是Postfix對於256 Mb的機器來說很好。像Postfix這樣完整的MTA的好處在於它可以在目標服務器關閉的情況下保留消息並重試。隨着smtplib和遠程機器上的服務器,你現在的程序取決於網絡...

相關問題