使用 Linux 服务器的时候,我们经常需要转发邮件,最简单的方案就是使用别名。以下简单介绍 sendmail 的别名数据库配置。这些配置也同样适用于兼容 sendmail 的其他邮件服务,例如 postfix。
示例
/etc/mail/aliases
root: joe
ftp-bugs: joe,eric,paul@example.com
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"
简单解释下:
- 我们将寄往 root 的邮件转发给本地的 joe 用户。
- 我们可以同时转发到多个地址。这里,我们将
ftp-bugs
的邮件转发给本地的 joe 和 eric 两个用户,同时转发给远程的 paul。 - 我们也可以把邮件写入文件中。这里的例子是
/dev/null
,也就是丢弃。 - 我们还可以把邮件内容作为标准输入传给程序!你可以充分发挥想象力。
/etc/mail/aliases
是全局的转发配置,对于个人用户而言,可以通过编辑 ~/.forward
设置转发给自己的邮件。
更新
出于性能考虑,实际查询转发地址的时候并不查询 /etc/mail/aliases
这个文本文件,而是查询一个二进制数据库。因此修改配置文件后,需要更新数据库。可以使用 newaliases
命令更新。
惯例
出于惯例,服务器需要有 postmaster
和 abuse
这两个别名:
- postmaster: 有人想联系你服务器上的用户,当时找不到他的地址,或者找到的是过时的地址
- abuse: 有人发现你的服务器上有不当内容的时候会通过
abuse
联系你。