如何将发送给系统用户的所有邮件重定向到特定用户

如何将发送给系统用户的所有邮件重定向到特定用户

我希望发送给系统用户的所有邮件都重定向到 root。如何使用 postfix 实现?这主要是为了让我收到 cron 发送的邮件。

由于所有非系统用户都已在中列出/etc/aliases,因此我只需要一个捕获不在此文件中的用户的列表。

我考虑过使用邮箱传输,但我找不到任何有关如何指定传输的文档local:

我也考虑过使用luser_relay,但由于它的优先级低于邮件池目录邮件仍然放在每个用户的邮件池中,这正是我想要避免的。

答案1

致谢:https://www.cyberciti.biz/tips/how-to-redirect-one-users-mail-to-another-user-with-postfix.html

Postfix 是一个开源邮件传输代理 (MTA),用于路由和发送电子邮件。本文举例说明了如何使用 Postfix MTA 将电子邮件转发给另一个本地或远程电子邮件用户。

它为本地和远程用户提供了一种将邮件重定向到另一个用户的方法。您需要配置 /etc/postfix/aliases(或使用 /etc/aliases)文件。别名文件(读作表格)提供了一种系统范围的机制来将邮件重定向到本地收件人。重定向由 Postfix 本地投递代理处理。

通常,别名表被指定为文本文件,作为 postalias 命令的输入。结果是一个 dbm 或 db 格式的索引文件,用于邮件系统快速查找。执行命令 newaliases 以便在更改 Postfix 别名数据库后重建索引文件。*

使用 vi 文本编辑器打开文件 /etc/postfix/aliases:

# vi /etc/postfix/aliases

现在添加如下行:

abuse: [email protected], [email protected], [email protected], postmaster

保存并关闭文件。滥用名称是在本地机器上接收邮件的本地地址。[电子邮件保护]是要转发到的另一个域上的电子邮件地址(该值可以是本地计算机上的用户名或电子邮件地址)。这可以是一个或多个用逗号分隔的值。

将 root 邮件重定向至 tom 用户:

root: tom

或者

root: [email protected]

输入 newaliases 命令来建立新的数据库:

# newaliases

要进一步解决问题,请参见 Postfix 服务器日志文件:

# tail -f /var/log/mailog

示例输出

Jan  8 03:56:33 www330 postfix[13209]: p089uXvh013209: from=root, size=29, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Jan  8 03:56:33 www330 postfix[13210]: p089uXZH013210: from=, size=337, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Jan  8 03:56:33 www330 postfix[13209]: p089uXvh013209: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30029, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p089uXZH013210 Message accepted for delivery)
Jan  8 03:56:34 www330 postfix[13211]: STARTTLS=client, relay=cyberciti.biz.s9a1.psmtp.com., version=TLSv1/SSLv3, verify=FAIL, cipher=AES256-SHA, bits=256/256
Jan  8 03:56:36 www330 postfix[13211]: p089uXZH013210: [email protected], ctladdr= (0/0), delay=00:00:03, xdelay=00:00:03, mailer=esmtp, pri=30576, relay=cyberciti.biz.s9a1.psmtp.com. [202.xxx.yyy.zzz], dsn=2.0.0, stat=Sent (Thanks)

以上输出表明发送到本地 root 帐户的邮件被转发到[电子邮件保护]通过名为 cyberciti.biz.s9a1.psmtp.com 的 smtp 服务器。如果您没有邮件服务器的管理员权限,请使用您自己主目录中的 .forward 文件将电子邮件转发到另一个帐户。

相关内容