fnord_ix Asked: 2009-05-08 00:19:04 +0800 CST2009-05-08 00:19:04 +0800 CST 2009-05-08 00:19:04 +0800 CST 设置 postfix 电子邮件服务器 772 当我在 ubuntu 服务器上使用 postfix 设置电子邮件服务器时,如何确保它不是开放中继? ubuntu postfix email-server 3 个回答 Voted Best Answer dotplus 2009-05-08T07:07:16+08:002009-05-08T07:07:16+08:00 作为一个开放中继意味着您正在接受来自未经身份验证的用户的邮件,这些邮件不是您管理的域。 Postfix 有一些非常简单的配置选项可以提供帮助: 它们之间的mynetworks和mynetworks_style规定了从哪个网络地址到任何目的地的消息将被接受。 mydestination用于指定哪些域是您管理的域(即您应该接受其消息,因为它们是您的)。 所以最简单的设置如下所示: mydomain = yourexampledomain.com mydestination = $myhostname, $mydomain mynetworks = 127.0.0.1/32 smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination 这将只接受邮件: 对于myexampledomain.com 和主机本身的主机名,来自任何可以访问您的邮件服务器的机器 从邮件服务器 (127.0.0.1/32) 上的任何客户端,任何主机,任何地方。 并且会拒绝其他任何东西。 这是我能想到的最基本的设置。您需要阅读 postconf(5) 中 mydomain、mydestination、mynetworks{_style} 的条目。 如果您需要能够通过网络以外的任何其他标准(例如用户名和密码或 kerberos 票证)接受来自客户端的邮件,则需要阅读有关SMTP_AUTH的信息。 David Z 2009-05-08T00:30:11+08:002009-05-08T00:30:11+08:00 我相信您需要在 Postfix 配置文件中设置mynetworks_style、mynetworks和设置。relay_domains基本上,前两个控制 Postfix 将接受来自哪些服务器的邮件,最后一个控制它将把邮件转发到哪些服务器。确切的设置取决于您希望如何配置邮件服务器(即谁有权通过服务器发送电子邮件),但通常relay_domains应设置为仅邮件服务器本身的主机名(与 相同mydestinations)并且mynetworks_style可以设置host为意味着只接受来自本地主机本身的电子邮件。 http://articles.slicehost.com/2008/8/7/postfix-checking-for-an-open-relay列出了一些测试,您可以使用这些测试来检查您的服务器是否正在运行开放中继。(一些链接可能已经死了,但我很确定至少有一个仍然有效......虽然不记得是哪个) 这是我服务器的 Postfix 配置的摘录: luser_relay = mydestination = $myhostname, $mydomain, localhost, localhost.$mydomain mynetworks = 127.0.0.1/32 [服务器的 IP 地址]/32 mynetworks_style = 主机 myorigin = $我的域名 中继域 = $mydestination smtpd_helo_restrictions = permit_mynetworks, reject_non_fqdn_hostname, 拒绝无效主机名 smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, 拒绝_unauth_destination, check_policy_service unix:private/postgrey, check_policy_service unix:private/policyd-spf, reject_rbl_client sbl-xbl.spamhaus.org Matthew Steeples 2009-05-08T02:35:43+08:002009-05-08T02:35:43+08:00 给这个网站 这个网站一试。它将允许您检查您是否正确配置了邮件服务器 更新为第一个网站不再有效
作为一个开放中继意味着您正在接受来自未经身份验证的用户的邮件,这些邮件不是您管理的域。
Postfix 有一些非常简单的配置选项可以提供帮助: 它们之间的mynetworks和mynetworks_style规定了从哪个网络地址到任何目的地的消息将被接受。 mydestination用于指定哪些域是您管理的域(即您应该接受其消息,因为它们是您的)。
所以最简单的设置如下所示:
这将只接受邮件:
并且会拒绝其他任何东西。
这是我能想到的最基本的设置。您需要阅读 postconf(5) 中 mydomain、mydestination、mynetworks{_style} 的条目。
如果您需要能够通过网络以外的任何其他标准(例如用户名和密码或 kerberos 票证)接受来自客户端的邮件,则需要阅读有关SMTP_AUTH的信息。
我相信您需要在 Postfix 配置文件中设置
mynetworks_style
、mynetworks
和设置。relay_domains
基本上,前两个控制 Postfix 将接受来自哪些服务器的邮件,最后一个控制它将把邮件转发到哪些服务器。确切的设置取决于您希望如何配置邮件服务器(即谁有权通过服务器发送电子邮件),但通常relay_domains
应设置为仅邮件服务器本身的主机名(与 相同mydestinations
)并且mynetworks_style
可以设置host
为意味着只接受来自本地主机本身的电子邮件。http://articles.slicehost.com/2008/8/7/postfix-checking-for-an-open-relay列出了一些测试,您可以使用这些测试来检查您的服务器是否正在运行开放中继。(一些链接可能已经死了,但我很确定至少有一个仍然有效......虽然不记得是哪个)
这是我服务器的 Postfix 配置的摘录:
给
这个网站这个网站一试。它将允许您检查您是否正确配置了邮件服务器更新为第一个网站不再有效