it-swarm.cn

如何设置邮件传输代理?

当我的Ubuntu服务器上发生特定事件时,我打算使用mutt通过cronat以及我的Gmail地址附件发送自动电子邮件。当前,mutt无法将电子邮件发送到外部电子邮件地址,我相信这是因为我需要设置邮件传输代理。如何选择合适的MTA,如何设置它以执行我需要做的事情?

17
conorgriffin

选择要安装的MTA时,需要做出一些选择。第一个是您是否要使用仅发送MTA,还是您需要成熟的邮件服务器。

此Unix.SE帖子 提供了可用的仅发送MTA的详细列表;它们都已经为Ubuntu 10.10打包了。选择仅发送MTA时,您可能需要考虑以下几点:

  1. 是否可以在发生故障时将电子邮件排队以便以后发送:IIRC,只有nullmailer可以执行此操作。

  2. 是否替换系统邮件传递代理(在Provides: mail-transport-agent的输出中查找行apt-cache show package)。如果是这样,则来自系统的所有邮件(包括来自cron作业的报告,受欢迎程度统计信息等)都将由您安装的MTA处理:如果未为root和其他用户,电子邮件可能最终以错误的地址发送(通常是ISP的某些sysadmin)。当前,软件包nullmaileresmtp-run(但不是esmtp)和ssmtp属于此类别。

  3. 所有仅发送MTA会将您的电子邮件转发到另一台服务器(称为“中继主机”或“ smarthost”;通常是您的ISP的SMTP服务器),然后让其处理实际Internet邮件传递的所有详细信息。您需要确定连接到ISP服务器是否有任何特殊要求(例如某种身份验证或TLS),并选择支持所需功能的MTA(例如,ssmtp不支持任何一种)身份验证或SSL/TLS)。

完整的邮件服务器包括 eximpostfixsendmail 。 Debian/Ubuntu的安装后安装脚本将为生成一些常见设置的工作配置(将邮件仅传递到本地系统;通过“ smarthost”发送电子邮件,即您所集中的邮件服务器)做得很好。所有电子邮件,通常是ISP的SMTP主机;具有完全入站和出站连接的Internet站点)。恕我直言,postfix是最易于运行和配置的,但是由于其功能如此强大,其配置手册比任何仅发送MTA的方法都要长。

另外,设置邮件服务器的real风险是,如果在本地配置中出错,最终将邮件传递到错误的位置(阅读:丢失)或-更糟-的垃圾邮件发送者可以使用开放中继系统(并且相信我,他们可以在意识到您的服务器是一个之前,请先找到一个开放中继。

我的建议是,从仅发送MTA开始,然后仅在看到需要时才升级到完整的邮件服务器(如果您只想将电子邮件发送到GMail地址,则不是这种情况)。

20
Riccardo Murri

我建议msmtp。设置其他邮件系统,例如sendmail,绝对是一件麻烦事。设置msmtp后,可以将其与mutt一起使用,也可以将其伪装为sendmail,这样程序就不会知道两个MTA之间的区别。有关详细信息,请访问 该网站。

6
ixtmixilix

根据您的Ubuntu版本,以下链接提供了您可以选择的所有MTA选择:

http://packages.ubuntu.com/precise/mail-transport-agent (对于12.04)
http://packages.ubuntu.com/trusty/mail-transport-agent (对于14.04)

我个人发现ssmtp非常易于设置和运行,只需执行以下两个命令即可:

$ Sudo aptitude install mailutils ssmtp
$ Sudo dpkg-reconfigure ssmtp
3
Tomofumi