如何设置邮件传输代理?

如何设置邮件传输代理?

当我的 Ubuntu 服务器上发生特定事件时,我打算通过或带有附件向我的 gmail 地址mutt发送自动电子邮件。目前,无法向外部电子邮件地址发送电子邮件,我认为这是因为我需要设置邮件传输代理。我该如何选择合适的 MTA,以及如何设置它来执行我需要它做的事情?cronatmutt

答案1

在选择要安装的 MTA 时,有几个选择;第一个是你是否想要一个只发送MTA 或者您需要一个功能齐全的邮件服务器。

这篇 Unix.SE 文章 提供了可用的仅发送 MTA 的完整列表;它们都已针对 Ubuntu 10.10 进行了打包。在选择仅发送 MTA 时,您可能需要考虑以下几点:

  1. 如果发生故障,是否可以将电子邮件排队以便稍后发送:IIRC,只能nullmailer做到这一点。

  2. Provides: mail-transport-agent它是否会取代系统邮件投递代理(在 的输出中查找一行apt-cache show package)。如果是,那么来自系统的所有邮件(包括来自 cron 作业的报告、流行度统计等)将由您安装的 MTA 处理:如果您没有为和其他用户,电子邮件可能最终被发送到错误的地址(通常是您的 ISP 的一些系统管理员)。目前,软件包nullmaileresmtp-run(但不是 esmtp)和ssmtp属于此类别。

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

功能齐全的邮件服务器包括进出口银行后缀, 和 发送邮件。Debian/Ubuntu 的安装后安装脚本将出色地为一些常见设置生成工作配置(仅将邮件传递到本地系统;通过“智能主机”发送电子邮件 - 即,您通过其汇集所有电子邮件的邮件服务器,通常是您的 ISP 的 SMTP 主机;具有完整入站和出站连接的互联网站点)。恕我直言,postfix 是最容易运行和配置的,但由于它功能强大,其配置手册比任何仅发送的 MTA 都要长得多。

除此之外真实的设置邮件服务器的风险是,如果你在本地配置中犯了一个错误,你最终会把邮件送到错误的地方(即丢失)或-更差-使用垃圾邮件发送者可以利用的开放中继系统(相信我,他们可以在你意识到你的服务器是一个开放中继之前就找到它)。

我的建议是先从仅发送的 MTA 开始,然后只有当您认为有必要时才升级到完整的邮件服务器(如果您只想向您的 GMail 地址发送电子邮件,则情况并非如此)。

答案2

我推荐msmtp。设置其他邮件系统(例如 )sendmail肯定相当麻烦。设置完成后msmtp,您可以将其与 一起使用mutt,也可以将其伪装成 ,sendmail这样程序就不会知道这两个 MTA 之间的区别。完整详情可参见网站。

答案3

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

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

就我个人而言,我发现ssmtp设置和运行非常容易,只需 2 个命令即可:

$ sudo aptitude install mailutils ssmtp
$ sudo dpkg-reconfigure ssmtp

相关内容