我的服务器上的某些进程将邮件发送到各种系统帐户,这些帐户全部发送到本地计算机上的根目录。我希望根帐户成为我的(外部)电子邮件地址的别名。我正在使用 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]
请记住,路由器应按正确的顺序列出。