2009-04-19 69 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和远程机器上的服务器,你现在的程序取决于网络...