Exim:发送给 root 的电子邮件会忽略 /etc/aliases 和 /root/.forward - 始终使用限定域名

Exim:发送给 root 的电子邮件会忽略 /etc/aliases 和 /root/.forward - 始终使用限定域名

dpkg-reconfigure exim4-config要求提供域名来“限定”本地用户的电子邮件地址,例如root.假设我已将此设置设置为qualified.example.com- 这会导致发送到的所有电子邮件都简单地root转到[email protected]

相反,我希望将所有电子邮件root发送到,但由于其他原因[email protected]我希望将合格域名设置保留为。qualified.example.com

我已将此行添加到/etc/aliases

root: [email protected]

我也投入[email protected]/root/.forward

我已经运行newaliases并重新启动exim,但无论我做什么,邮件都会root继续尝试发送到[email protected],而它甚至不存在。

我怎样才能强制电子邮件root转到[email protected]

这是在 Ubuntu 服务器 14.04 上

我的/etc/exim4/update-exim4.conf.conf看起来像这样:

dc_eximconfig_configtype='internet'               
dc_other_hostnames=''                             
dc_local_interfaces='127.0.0.1'                   
dc_readhost=''                                    
dc_relay_domains=''                               
dc_minimaldns='false'                             
dc_relay_nets=''                                  
dc_smarthost=''                                   
CFILEMODE='644'                                   
dc_use_split_config='false'                       
dc_hide_mailname=''                               
dc_mailname_in_oh='true'                          
dc_localdelivery='mail_spool'              

当我跑步时,dpkg-reconfigure exim4-config我回答了限定域问题,如下所示:

The 'mail name' is the domain name used to 'qualify' mail addresses without a domain name.                  

This name will also be used by other programs. It should be the single, fully qualified domain name (FQDN). 

Thus, if a mail address on the local host is [email protected], the correct value for this option would be    
example.org.                                                                                                

This name won't appear on From: lines of outgoing messages if rewriting is enabled.                         

System mail name:                                                                                           

qualified.example.com_________

尽管该设置没有出现在/etc/exim4/update-exim4.conf.conf.应该是?

我注意到我的 Debian 服务器上也出现了同样的问题。我一定完全误解了 Exim 和/或/etc/aliases文件的某些内容,因为它们似乎都忽略了我的/etc/aliases根:[电子邮件受保护]条目,他们总是将 root 的邮件发送到[电子邮件受保护]无论我尝试什么。这似乎也很奇怪,一个简单的转发规则如此依赖于邮件服务器的主要配置?

答案1

您的主机不充分知道它应该是qualified.example.com。本地交付root被重写为[email protected],它被(错误地)认为是在其他地方,因此尝试脱离主机交付。

您需要完成该过程,表明exim4您的本地主机确实是qualified.example.com。然后,当它传递到 时root,重写,因为[email protected]它会将其视为本地传递。然后,它将检查/etc/aliases文件并按照您的指示执行脱离主机传送[email protected]

假设您的主机的真实 DNS 名称是myhost.contoso.com。重新运行dpkg-reconfigure exim4-config并包含以下设置:

  • 系统邮件名称:myhost.contoso.com
  • 接受[本地]邮件的其他目的地:myhost : qualified.example.com
  • 中继邮件的域:{空的}
  • 转发邮件的机器:{空的}

然后运行update-exim4.confinvoke-rc.d exim4 restart

答案2

尽管该设置没有出现在/etc/exim4/update-exim4.conf.conf.应该是?

该设置位于 /etc/mailname 文件中。只要 /etc/mailname 的第一行(也是唯一一行)与您的 /etc/hosts 匹配,它将被视为本地投递。例如,您想使用qualified.example.com,因此您应该将其放在 /etc/mailname 文件中,并且还应该在 /etc/hosts 文件中定义,例如:127.0.0.1 qualified.example.com。请务必在您的主机文件中为 ipv6 定义相同的内容(或者如果您不使用 exim 则禁用 ipv6)。

相关内容