Exim

exim4 不使用 /etc/aliases

  • February 13, 2019

我伺服器上的一些程序將郵件發送到各種系統帳戶,這些帳戶都發送到本地電腦上的 root。我希望 root 帳戶成為我的(外部)電子郵件地址的別名。我正在使用 exim4 版本 4.86_2

我在 /etc/aliases 中有以下內容:

mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: me@mydomain.com

我已經執行了“newaliases”命令,但是當我向“root”發送郵件時,它會轉到 root@localdomain。

如何讓伺服器讀取 /etc/aliases 或將系統郵件發送到外部電子郵件地址?

事實證明,主機不知道機器的規範名稱是什麼,所以假設所有本地郵件實際上都是遠端的。我現在已經按照這個答案修復了它。

exim預設情況下不引用系統別名。您必須創建相應的查找/etc/aliases和轉發消息的路由器。該路由器應如下所示:

sys_alias:
   driver      = redirect
   data        = ${lookup{$local_part}lsearch{/etc/aliases}}
   user        = mailnull
   group       = mail
   file_transport  = address_file
   pipe_transport  = address_pipe
   allow_fail
   allow_defer

該路由器需要/etc/aliases包含以下語法行的文件:

localpart: alias
root:      user
other:     me@domain.tld
user:      john,mary,bob@other.tld

您不能me@domain.tld: me@another.tld僅使用查找搜尋 localpart。如果您需要使用整個地址而不是 localpart,則必須相應地更改查找條件。

請記住,路由器應按正確的順序列出。

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