仅发送 SMTP 服务器

仅发送 SMTP 服务器

我想在 Debian 上设置一个仅用于发送邮件的 SMTP 服务器,这样我的 Web 应用程序就可以通过它发送电子邮件。出于安全性和我自己设置的可定制性考虑,我不想使用其他主机。

我希望安装 Postfix 并仅在传出模式下配置它(我不希望它是中继)。所以我想问一个建议,如何以最佳方式做到这一点。Postfix 提供的用户、虚拟用户、端点和其他选项都不需要。我想我应该只将 Postfix 附加到某个主机名,这样我的 IP 地址就可以解析到它。

我也认为 Postfix 可能是一个有点复杂的解决方案。如果你知道更简单的工具,请告诉我。

答案1

在 Debian 上设置 Postfix 仅用于发送邮件:

  • dpkg-reconfigure postfixinternet site出现提示时选择)
  • postconf -e 'inet_interfaces = 127.0.0.1'
  • /etc/init.d/postfix restart

inet_interfaces = 127.0.0.1/etc/postfix/main.cf 将仅将 Postfix 绑定到本地主机,因此您的机器将不会接受传入的电子邮件。

答案2

虽然 Postfix 也可以使用,但我个人更喜欢 Exim。

我可以给你提供一套关于如何设置仅用于传出的 Exim 的快速说明。

  • 确保主机名设置正确
  • 安装apt-get install exim4 exim4-daemon-light
  • 在配置步骤中,按如下方式回答问题
    • 邮件配置类型:互联网网站
    • 系统名称:您的服务器的 fqdn
    • 监听的 IP 地址:127.0.0.1(此地址无法接收邮件)
    • 接受的其他目的地:空
    • 中继域名:空
    • 要中继的机器:空
    • 保持 DNS 最小化:是
    • 本地邮件递送方式:Maildir
    • 是 拆分配置

一旦配置了 exim,你可以使用命令再次运行此设置dpkg-reconfigure exim4-config

如果您真的很偏执,您还可以在邮件服务器上设置一个快速 iptables 防火墙,并且根本不允许传入连接到端口 25。

答案3

无论您选择哪个邮件服务器,如果您阻止到端口 25 和 587 的传入连接,外部用户将无法通过它进行中继。

SMTP 服务器需要与端口 25 建立出站连接,但不需要接受来自其他主机的入站连接。

您可能希望接受来自的端口 25 连接localhost,这对于在本地运行的任何 Web 应用程序来说都很方便;并且,作为额外的安全措施,确保服务器仅绑定到lo1或本地主机接口(参见 James 的回答)。

答案4

我不确定我是否明白您在寻找什么,但默认情况下,Postini 可以满足您的所有要求。

只需确保您的 Internet 连接没有 SMTP 限制并且您的 DNS 正常工作。

相关内容