如果我定义“my_domain”,postfix 不会扩展邮件别名

如果我定义“my_domain”,postfix 不会扩展邮件别名

我在 CentOS 6.3 上运行了 postfix v2.6.6,主机名 priest.ocsl.local(私有,内部域),有多个别名

supportpeople: [email protected], [email protected], [email protected]
requests: "|/opt/rt4/bin/rt-mailgate --queue 'general' --action  correspond --url http://localhost/", supportpeople
help: "|/opt/rt4/bin/rt-mailgate --queue 'help' --action correspond --url http://localhost/", supportpeople

如果我保留 Postfix 的默认配置,那么别名就会被正确解析/如我所料,这样收到的邮件就会发送到,比如说,[电子邮件保护]将通过 rt-mailgate mailgate 命令进行传输,并传送(通过 ocsl.co.uk(可公开解析的域名)的邮件服务器)至[电子邮件保护]、用户2等。

问题出现在我定义mydomain = ocsl.co.ukin时/etc/postfix/main.cf(意图是发送邮件来自,例如,[电子邮件保护])。当我这样做时,postfix 继续正确运行管道命令,但它不再像我预期的那样扩展嵌套别名:而不是尝试传递到[电子邮件保护],用户2等,它尝试发送到[电子邮件保护],它在上游邮件服务器上不存在并会生成 NDR。postconf -n非工作配置如下(工作配置仅在“mydomain”行上有所不同)。

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = ocsl.co.uk
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550

在运行 Sendmail 的旧系统上,我们确实能够按照预期/想要的方式运行。

答案1

这些supportpeople值在你的 中没有域部分$alias_maps,因此 Postfix 会将值附加$mydomain到它们(因为$append_dot_mydomain)。Postfixmydomain = ocsl.co.uk会扩展supportpeople[email protected]并尝试将邮件路由到该域的 MX。为了避免这种情况,请将右侧supportpeople值更改为 Postfix 是最终目的地的完整地址,例如supportpeople@localhost

此外,要更改发件人地址,您可以使用$myorigin, 不是$mydomain

相关内容