it-swarm.cn

轻量级传出SMTP服务器

您将什么用作轻型SMTP仅用于外发电子邮件?

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

编辑:我很乐意使用诸如postfix之类的东西(并这样做),如果那是最佳选择。我以为可能有些简单得多的东西用完了。

49
FlappySocks

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

为了使这两种方法都能正常工作,您需要在某个地方使用完整的MTA,以进一步中继您的消息(称为“邮件中心”),强烈建议您控制此邮件中心。否则,Bad Things™可能会发生。

24
user601

恕我直言,最简单的方法是使用后缀。您可以使用以下命令将其配置为轻型出站继电器:

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

只要relayhost中指定的SMTP服务器不需要身份验证,允许您中继或将其作为收件人地址的有效目的地,它便会起作用。

myorigin参数将是默认域名。因此,如果您将邮件发送到foo,它将发送到[email protected]。用户栏发送的邮件将来自[email protected]

如果您确实需要进行身份验证并想要支持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

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

11
bahamat

假设您需要一个可以在Shell上运行的程序,例如sendmail(8),也许 [〜#〜] msmtp [〜#〜] 会满足您的需求吗?它可以连接到远程SMTP服务器,并像stendmail一样以stdin的形式提交邮件。

9
Michael Ratanapintha

[〜#〜] esmtp [〜#〜] 是仅适用于您的应用程序的中继邮件传输服务器。

4
moberley

您可能会发现适合您需要的sSMTP。阅读此 article 以及它的限制。

坦白说,我不会太在意安装postfix或exim,即使它仅用于发送电子邮件也是如此。

2
Evan

如果使用docker, https://hub.docker.com/r/zixia/simple-mail-forwarder/ 是易于部署且只有10MB大小且具有完整smtp(tls)的好选择)支持。

2
Huan

从技术上讲,您不需要主机上的电子邮件服务器,您需要(可能已经拥有)的是可以连接到公司SMTP服务器(可以在您可以连接到的任何位置)的smtp客户端(或MUA) )

根据应用程序(及其编写的编程语言)的不同,您的应用程序可以通过多种不同方式连接到网络上的“ the” SMTP服务器。

通常,使用PHP或Python,该应用程序会带有一个配置文件)以指定“ SMTP”服务器(可以位于您的主机上或网络中的其他位置。)如果您已经有邮件网络上的服务器,然后将配置指向该服务器。

如果不存在其他选项,则该应用程序可以将电子邮件生成为标准输出,您可以使用以下方式进行处理:

listoftargets =“ [email protected] [email protected]”回显“测试内容” |邮件-s“测试主题” $ listoftargets

在某些系统上,已经有一个仅用于发送的最小邮件服务器。

山姆.

1
samt