当前位置: 首页>>技术教程>>正文


email – 如何设置邮件传输代理?

,

问题描述

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

最佳方法

选择要安装的 MTA 时需要做出几个选择;\n第一个是您是否需要 send-only MTA 还是需要 \nfully-fledged 邮件服务器。

This Unix.SE post \n提供可用的 send-only MTA 的完整列表;所有这些都已针对 Ubuntu 10.10 进行了打包。选择 send-only MTA 时\n您可能需要考虑以下几点:

  1. 是否可以在失败的情况下对 e-mails 进行排队以便稍后交付:IIRC,只有 nullmailer 可以执行此操作。

  2. 是否会替换系统邮件传递代理(在 apt-cache\nshow package 的输出中查找\n行 Provides: mail-transport-agent )。如果是这样,则来自系统的所有邮件(包括来自 cron 作业的报告、流行度统计信息等)都将由您安装的 MTA 处理:如果您没有为 root 和其他用户设置正确的邮件别名,电子邮件可能会\n最终发送到错误的地址(通常是\n您的 ISP 的某个系统管理员)。目前,包 nullmaileresmtp-run (但不包括 esmtp )和 ssmtp 属于此类。

  3. 所有 send-only MTA 只会将您的电子邮件转发到另一台服务器\n(称为 “relay host” 或 “smarthost”;通常是您的 ISP 的 SMTP\n服务器),然后让它处理真正的 Internet\n邮件传送的所有细节。您需要弄清楚连接到 ISP 服务器是否有任何特殊要求(例如某种身份验证或 TLS),并选择支持所需功能的 MTA(例如 ssmtp 不支持任何类型)没有身份验证或 SSL/TLS)。

Fully-fledged 邮件服务器包括 exim 、\n postfix 和\n sendmail 。 Debian/Ubuntu 的\npost-installation 安装脚本\n可以很好地为某些常见设置生成工作配置\n(仅将邮件发送到本地系统;通过\n”smarthost” 发送电子邮件——即您的邮件服务器)将您的所有电子邮件集中到\n,通常是您的 ISP 的 SMTP 主机;具有完整\n入站和出站连接的互联网站点)。恕我直言,postfix 是最容易运行和配置的,但由于它功能强大,其配置手册比任何 send-only MTA 都要长。

此外,设置邮件服务器的真正风险在于,如果您在本地配置中犯了错误,您最终会将邮件发送到错误的地方(即:丢失),或者更糟糕的是,邮件将被发送到错误的地方(即丢失),或者更糟糕的是,邮件将被发送至错误的地方(即丢失),或者更糟糕的是,邮件将被发送到 nopen-relay垃圾邮件发送者可以使用的系统(并且,相信我,他们\n可以在您意识到您的服务器是一个开放中继之前找到一个开放中继)。

我的建议是从 send-only MTA 开始,然后\n仅在您认为需要时才升级到完整的邮件服务器(如果您只想将电子邮件发送到您的 GMail\n地址,则情况并非如此)。

次佳方法

我会推荐 msmtp 。设置其他邮件系统,例如 sendmail ,肯定是相当麻烦的。设置 msmtp 后,您可以将其与 mutt 一起使用,也可以将其伪装为 sendmail,以便程序不会知道两个 MTA 之间的差异。完整详细信息请参见 the website.

第三种方法

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

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

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

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14057.html,未经允许,请勿转载。