设置一个后缀电子邮件服务器

当我在ubuntu服务器上使用postfixbuild立电子邮件服务器时,如何确保它不会是一个开放的中继?

作为开放中转意味着您正在接受来自未经身份validation的用户的邮件,而不是您pipe理的域

Postfix有一些非常简单的configuration选项可以帮助:在它们之间的mynetworksmynetworks_style规定从哪个networking地址到任何目的地的消息都将被接受。 mydestination用于指定哪些域是您pipe理的域(即,您应该接受因为他们是你的消息)。

所以最简单的设置看起来像:

mydomain = yourexampledomain.com mydestination = $myhostname, $mydomain mynetworks = 127.0.0.1/32 smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination 

这将接受邮件:

  1. myexampledomain.com和主机本身的主机名, 任何可以到达您的邮件服务器的机器
  2. 邮件服务器(127.0.0.1/32)上的任何客户端,任何地方的任何主机。

并会拒绝其他任何事情。

这是我能想出的最基本的设置。 您需要在postconf(5)中读取mydomain,mydestination,mynetworks {_style}的条目。

如果您需要通过除networking以外的任何其他标准(例如用户名和密码或kerberos票据)来接受来自客户端的邮件,则需要阅读有关SMTP_AUTH的信息 。

我相信您需要在Postfixconfiguration文件中设置mynetworks_stylemynetworksrelay_domains设置。 基本上,前两个控制哪个服务器Postfix将接收邮件,最后一个控制它将邮件转发到哪个服务器。 确切的设置取决于你希望如何configuration你的邮件服务器(也就是说,谁有权通过服务器发送邮件),但是通常relay_domains应该只设置为邮件服务器本身的主机名(与mydestinations ), mynetworks_style可以是设置为host ,这意味着只接受本地主机本身的电子邮件。

http://articles.slicehost.com/2008/8/7/postfix-checking-for-an-open-relay上列出了一些testing,您可以使用它来检查您的服务器是否正在运行开放中继。 (其中一些链接可能已经死了,但我很确定至less有一个仍然有效…不记得是哪一个)

这里是我的服务器的Postfixconfiguration摘录:

 luser_relay =
 mydestination = $ myhostname,$ mydomain,localhost,localhost。$ mydomain
 mynetworks = 127.0.0.1/32 [服务器的IP地址] / 32
 mynetworks_style = host
 myorigin = $ mydomain
 relay_domains = $ mydestination
 smtpd_helo_restrictions = permit_mynetworks,
         reject_non_fqdn_hostname,
         reject_invalid_hostname
 smtpd_recipient_restrictions = permit_sasl_authenticated,
         permit_mynetworks,
         reject_unauth_destination,
         check_policy_service unix:private / postgrey,
         check_policy_service unix:private / policyd-spf,
         reject_rbl_client sbl-xbl.spamhaus.org

这个网站 这个网站试试。 它将允许您检查您是否正确configuration了您的邮件服务器

第一个网站更新不再有效