Answers:
最小的,仅中继的邮件传输代理(MTA或“邮件服务器”)有多种选择,其他答案中也提到了其中一些:
为了使这两种方法都能正常工作,您需要在某处拥有完整的MTA,以便进一步中继您的消息(称为“邮件中心”),强烈建议您控制此邮件中心。否则,Bad Things™可能会发生。
恕我直言,最简单的方法是使用后缀。您可以使用以下命令将其配置为轻型出站继电器:
postconf -e relayhost=other.mailserver.com
postconf -e myorigin=my.domainname.com
只要中指定的SMTP服务器relayhost
不需要身份验证,即可让您中继或成为收件人地址的有效目的地,那么它将起作用。
该myorigin
参数将是默认域名。因此,如果您将邮件发送到foo,它将发送到foo@my.domainname.com。用户栏发送的邮件将来自bar@my.domainname.com。
如果您确实需要进行身份验证并想要支持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
所有邮件将使用指定的用户名和密码发送到您的中继主机。
relayhost=other.mailserver.com:465
then smtp_tls_wrappermode=yes
和,smtp_tls_security_level=encrypt
但它试图将本地用户用作auth。我必须以某种方式重写身份验证用户。
假设您需要一个可以从外壳运行的程序,例如sendmail(8),也许MSMTP可以满足您的需求?它可以连接到远程SMTP服务器,并像stendmail一样以stdin的形式提交邮件。
您可能会发现适合您需要的sSMTP。阅读有关它的文章及其限制。
坦白说,我不会太在意安装postfix或exim,即使它仅用于发送电子邮件也是如此。
如果您使用docker,则https://hub.docker.com/r/zixia/simple-mail-forwarder/是易于部署且只有10MB大小且具有完整smtp(tls)支持的不错选择。
从技术上讲,您不需要主机上的电子邮件服务器,您需要(可能已经拥有)的是可以连接到公司SMTP服务器(可以在您可以连接到的任何位置)的smtp客户端(或MUA) )
根据应用程序(及其编写的编程语言)的不同,您的应用程序可以通过多种不同方式连接到网络上的“ the” SMTP服务器。
通常,使用PHP或Python,应用程序中都会有一个配置文件,用于指定“ SMTP”服务器(可以位于主机上或网络中的其他位置。)如果网络上已经有邮件服务器,则只需指向配置到该服务器。
如果没有其他选项,则应用程序可以将电子邮件生成为标准输出,您可以使用以下方式进行处理:
listoftargets =“ me@example.com jab@example.com”回显“测试内容” | 邮件-s“测试主题” $ listoftargets
在某些系统上,已经有一个仅用于发送的最小邮件服务器。
山姆
mail
或sendmail
命名为可执行文件。系统通知。这就是重点吗?除此之外,没有任何限制。