Ubuntu

Exim:發給 root 的電子郵件會忽略 /etc/aliases 和 /root/.forward - 始終使用限定域名

  • August 14, 2019

dpkg-reconfigure exim4-config要求域名來“限定”本地使用者的電子郵件地址,例如root. 假設我已將此設置設置為qualified.example.com- 這會導致所有發送到的電子郵件root都轉到root@qualified.example.com.

相反,我希望將所有電子郵件root發送到,但出於其他原因example@gmail.com,我希望將限定域名設置保留為。qualified.example.com

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

root: example@gmail.com

我也投入example@gmail.com/root/.forward

我已經執行newaliases並重新啟動exim了,但無論我做什麼,mail toroot都會繼續嘗試發送到root@qualified.example.com,這甚至不存在。

如何強制電子郵件root轉到example@gmail.com

這是在 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 foo@example.org, 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/aliasesroot:example@gmail.com 條目,無論我嘗試什麼,他們總是將 root 的郵件發送到 root@qualified.example.com。一個簡單的轉發規則如此依賴於郵件伺服器的主要配置似乎也很奇怪?

您的主機不知道它應該是qualified.example.com. 本地傳遞root被重寫為root@qualified.example.com,它(錯誤地)被認為是在其他地方,因此嘗試了脫離主機傳遞。

您需要完成exim4說明您的本地主機確實是qualified.example.com. 然後,當它傳遞給 時root,重寫,因為root@qualified.example.com它會將其視為本地傳遞。然後它將檢查文件並按照您的指示/etc/aliases執行脫離主機傳遞。example@gmail.com

假設您的主機的真實 DNS 名稱是myhost.contoso.com. 重新執行dpkg-reconfigure exim4-config並包括以下設置:

  • 系統郵件名稱:myhost.contoso.com
  • 其他目的地$$ local $$郵件被接受:myhost : qualified.example.com
  • 中繼郵件的域:{empty}
  • 中繼郵件的機器:{empty}

然後執行update-exim4.confinvoke-rc.d exim4 restart

引用自:https://unix.stackexchange.com/questions/235112