仅传出SMTP服务器

我想在Debian上设置一个只能外发的SMTP服务器,所以我的Web应用程序将能够通过它发送电子邮件。 我不想使用其他主机,因为我自己安装的安全性和可定制性。

我希望安装Postfix并只在发送模式下进行configuration(我不希望它是一个中继)。 所以我想问一个build议如何以最好的方式做到这一点。 Postfix提供的用户,虚拟用户,端点和其他选项是没有必要的。 我想我应该只附加Postfix到某个主机名,所以我的IP地址可以解决它。

我也认为Postfix可能是这个任务的一个复杂的解决scheme。 如果你知道更简单的工具,让我知道。

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

  • dpkg-reconfigure postfix (出现提示时selectinternet site
  • postconf -e 'inet_interfaces = 127.0.0.1'
  • /etc/init.d/postfix restart

/etc/postfix/main.cf中的inet_interfaces = 127.0.0.1会将Postfix绑定到本地主机,所以你的机器不会接收传入的邮件。

我个人更喜欢Exim,尽pipePostfix应该工作。

我可以给你一个关于如何只设置Exim的简要说明。

  • 确保主机名正确设置
  • 安装apt-get install exim4 exim4-daemon-light
  • 在configuration步骤中以这种方式回答问题
    • 邮件configurationtypes:Internet站点
    • 系统名称:您的服务器的fqdn
    • IP地址监听:127.0.0.1(这个地址收到邮件是不可能的)
    • 其他目的地被接受:空的
    • 域中继:空
    • 机器中继:空
    • 保持最小的DNS:是的
    • 本地邮件的递送方式:Maildir
    • 是分割configuration

一旦exim已经被configuration,你可以使用命令dpkg-reconfigure exim4-config再次运行这个设置

如果你确实是偏执的话,你也可以在你的邮件服务器上设置一个快速的iptables防火墙,而不允许传入连接到端口25。

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

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

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

两个字: apt-get install ssmtp

(哼…这三个字?)

我不确定我是否了解您要查找的内容,但默认情况下,Postini会完成您想要的任何操作。

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