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.conf
并invoke-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)。