如何在python ssmtp vs smtplib中发送邮件

Kri*_*ish 3 python smtplib ssmtp

我需要在delbian linux发送电子邮件.如何发送?我在256 MB的Linux机器上运行我的服务器,我听说postfix和sendmail是矫枉过正的.

最近我遇到了ssmtp,它似乎是一个可执行文件,需要作为一个进程执行,并使用os模块通过python调用.

或者,python已经提供smtplib,这对我很好.

使用ssmtp优于python的smtplib有什么好处?

Dav*_*d Z 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.