如何将我自己的计算机设置为仅在我的私人网络上的 smtp 中继?

如何将我自己的计算机设置为仅在我的私人网络上的 smtp 中继?

我们有未连接到互联网的 mac os x 服务器,但它托管一些仅供内部使用(lan)的协作工具。

其中一些工具会发送通知,但我们的邮件服务器位于该局域网之外。

我使用 Linux 作为我的桌面,我想成为一个中继,让服务器能够向外发送邮件。

我想真正限制仅从本地网络到任何地方。

我考虑到我的电脑将需要用来转发电子邮件。并且考虑到停机时间。

谢谢 !

答案1

如果您只想通过 Linux 桌面从 MAC OS X 发送外发邮件。您可以在 Linux 桌面上安装 sendmail。然后配置以下文件:

/etc/mail/relay-domains 包含允许通过您的邮件服务器中继邮件的主机列表。此列表可能包含特定主机或整个域。

/etc/mail/sendmail.cw(在 sendmail 8.10 版之后,此文件为 local-host-names)包含您的邮件服务器将接受邮件的域列表。此列表通常是您的计算机托管的域。

您可能需要配置 OS X 服务器以将邮件发送到您的 Linux 机器。这里是关于如何做到这一点的说明。

此解决方案将配置 postfix(mail 和 sendmail 使用的服务),以通过第三方服务器(理想情况下是您的 ISP)中继消息,可选择使用身份验证和 TLS。您需要成为 root 才能创建/编辑文件并运行命令。所以,不要再拖延了,尽情享受吧。

编辑 /etc/postfix/main.cf 并将以下内容添加到末尾:

relayhost = smtp.yourisp.com # (you can use smtp.yourisp.com:port, such as smtp.yourisp.com:587)
smtp_sasl_auth_enable = yes
smtp_use_tls = yes
smtp_enforce_tls = yes
smtp_sasl_security_options =
smtp_sasl_tls_security_options =
smtp_sasl_tls_verified_security_options =
smtp_tls_loglevel = 2 # optional if you wan to see what's going on with the TLS negotiation in /var/log/mail.log
smtp_sasl_password_maps = hash:/etc/postfix/smtp_sasl_passwords
smtp_tls_per_site = hash:/etc/postfix/smtp_tls_sites
tls_random_source = dev:/dev/urandom

参考

相关内容