Postfix 忽略了 Relay_recipient_maps?

Postfix 忽略了 Relay_recipient_maps?

我正在尝试设置一个在 DMZ 中运行 Postfix 的邮件中继,以将所有传入邮件转发到内部 LAN 连接的邮件服务器。

我希望能够在网关处拒绝不存在的用户的来信,我认为这是最好的选择。

问题是,即使对于未包含在用户表中的用户,Postfix 仍会接受邮件。

我的配置:

append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
local_recipient_maps =
local_transport = error:local delivery disabled
mydomain = ***
myhostname = merlin.***
mynetworks = 127.0.0.0/8 10.7.0.0/16
myorigin = /etc/mailname
parent_domain_matches_subdomains = debug_peer_list smtpd_access_maps
relay_domains = $transport_maps
relay_recipient_maps = mysql:/etc/postfix/mysql-relay_recipient_maps.cf
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
transport_maps = hash:/etc/postfix/transport_maps

我已彻底检查该relay_recipient_maps功能是否有效(使用postmap -q)。我正尝试向以下地址发送noone@***邮件swaks

  • 本地机器(邮件服务器本身)
  • 10.7.11.x 网络中的主机

两次尝试都成功(Postfix 中继了邮件)。

怎么了?

编辑:

日志显示(“连接被拒绝”错误无关紧要;问题在于 Postfix 中继noone@***):

Aug  3 13:20:44 merlin postfix/smtp[10166]: CE7E2C6E: to=<noone@***>, relay=none, delay=1642, delays=1642/0.01/0/0, dsn=4.4.1, status=deferred (connect to xaver.***[10.7.7.21]:25: Connection refused)
Aug  3 13:20:44 merlin postfix/smtp[10171]: connect to xaver.***[10.7.7.21]:25: Connection refused

答案1

经过几个小时的搜索,我发现查找结果至少被丢弃了八次,我终于意识到,我用来检查用户是否存在的存储函数在未找到匹配条目时返回 0。而对于 Postfix 来说,这意味着找到了用户。

相关内容