使用 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"

简单解释下:

  1. 我们将寄往 root 的邮件转发给本地的 joe 用户。
  2. 我们可以同时转发到多个地址。这里,我们将 ftp-bugs 的邮件转发给本地的 joe 和 eric 两个用户,同时转发给远程的 paul。
  3. 我们也可以把邮件写入文件中。这里的例子是 /dev/null,也就是丢弃。
  4. 我们还可以把邮件内容作为标准输入传给程序!你可以充分发挥想象力。

/etc/mail/aliases 是全局的转发配置,对于个人用户而言,可以通过编辑 ~/.forward 设置转发给自己的邮件。

更新

出于性能考虑,实际查询转发地址的时候并不查询 /etc/mail/aliases 这个文本文件,而是查询一个二进制数据库。因此修改配置文件后,需要更新数据库。可以使用 newaliases 命令更新。

惯例

出于惯例,服务器需要有 postmasterabuse 这两个别名:

  • postmaster: 有人想联系你服务器上的用户,当时找不到他的地址,或者找到的是过时的地址
  • abuse: 有人发现你的服务器上有不当内容的时候会通过abuse联系你。

编撰 SegmentFault


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity