exim4 不使用 /etc/aliases

exim4 不使用 /etc/aliases

我的服务器上的某些进程将邮件发送到各种系统帐户,这些帐户全部发送到本地计算机上的根目录。我希望根帐户成为我的(外部)电子邮件地址的别名。我正在使用 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: [email protected]

我已经运行了“newaliases”命令,但是当我向“root”发送邮件时,它会发送到 root@localdomain。

如何让服务器读取 /etc/aliases 或将系统邮件发送到外部电子邮件地址?

答案1

事实证明,主机不知道机器的规范名称是什么,因此假设所有本地邮件实际上都是远程的。我现在已经修好了根据这个答案

答案2

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:     [email protected]
user:      john,mary,[email protected]

您不能仅使用查找搜索本地部分。如果您需要使用整个地址而不是局部地址,则必须相应地更改查找条件。[email protected]: [email protected]

请记住,路由器应按正确的顺序列出。

相关内容