轻量级发送 SMTP 服务器

轻量级发送 SMTP 服务器

您使用什么作为仅用于外发电子邮件的轻量级 SMTP?

我正在运行一个应用程序,当事件偶尔发生时,它会通过 SMTP 发送电子邮件,并且我不需要功能齐全的电子邮件服务器。

编辑:如果这是最好的选择,我非常乐意使用像 postfix 这样的东西(并且确实这样做)。我在想可能有更简单的东西,开箱即用。

答案1

有多种最小的仅中继邮件传输代理(MTA 或“邮件服务器”)选择,其中一些已在其他答案中提到:

为了使其中任何一个工作,您需要一个成熟的 MTA 来进一步转发您的邮件(称为“邮件中心”),并且强烈建议您控制该邮件中心。否则,Bad Things™ 可能会发生。

答案2

恕我直言,最简单的方法是使用 postfix。您可以使用以下命令将其配置为光输出继电器:

postconf -e relayhost=other.mailserver.com
postconf -e myorigin=my.domainname.com

只要 中指定的 SMTP 服务器relayhost不需要身份验证、允许您中继或者是收件人地址的有效目标,就可以使用。

myorigin参数将是默认域名。因此,如果您向 foo 发送邮件,它将发送至[电子邮件受保护]。用户栏发送的邮件将来自[电子邮件受保护]

如果您确实需要进行身份验证并希望支持 TLS,还可以运行以下命令:

postconf -e smtp_tls_security_level=may
postconf -e smtp_sasl_auth_enable=yes
postconf -e smtp_sasl_password_maps=pcre:/etc/postfix/sasl_password_maps

然后/etc/postfix/sasl_password_maps有这样的内容:

/./ username:password

所有邮件都将使用指定的用户名和密码发送到您的中继主机。

答案3

假设您需要一个可以从 shell 运行的程序,例如 sendmail(8),也许邮件传输协议会满足您的需求吗?它可以连接到远程 SMTP 服务器并将收到的邮件作为 stdin 提交,就像 sendmail 一样。

答案4

您可能会发现 sSMTP 适合您的需求。读这个文章关于它及其局限性。

老实说,我不会对安装 postfix 或 exim 感到太大压力,即使它只是为了发送电子邮件。

相关内容