是否可以在本地向root用户发送电子邮件

ddn*_*mad 5 debian email postfix

我在我的 Debian VPS 中设置了一个邮件系统。除了我无法向 user 发送电子邮件外,一切都很顺利root

有一种解决方法可以指定/etc/aliases类似

root: <some_other_user>

然后所有发送到的电子邮件root@<fqdn>都会进入<some_other_user>@<fqdn>邮箱。

从安全的角度来看,它甚至更好,但我想知道是否有办法向用户发送电子邮件root

所以是的,在技术上可以使用 Postfix 吗?如果是这样,我该怎么做?

更新:

这是postfix.service日志:

Apr 26 22:18:25 <hostname><fqdn> postfix/qmgr[2375]: 3905421760: from=<ddnomad@<fqdn>>, size=631, nrcpt=1 (queue active)
Apr 26 22:18:26 <hostname><fqdn> postfix/local[2429]: 3905421760: to=<mailuser@<fqdn>>, orig_to=<root@<fqdn>>, relay=local, delay=1.3, delays=0.21/0.01/0/1, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Run Code Online (Sandbox Code Playgroud)

据我了解,这意味着这封信已成功发送。但它从未被送到root的邮箱。

Rui*_*iro 7

postfix 使用procmail, 来发送电子邮件,并且出于安全原因运行的postfix调用,发送到的电子邮件最终将发送给用户。procmailnobodyrootnobody

Debian 邮件列表比我解释得更好,并建议解决:

postfix 自己的投递代理可以投递到 root 的邮箱,但 postfix 永远不会以 root 身份分叉外部程序(例如 procmail)。它将 UID 更改为正在传递的邮件的所有者,或者如果该用户是 root,则将 UID 更改为 nobody。

所以 procmail 在传递 root 的邮件时会以 nobody 运行。

我通过将 /var/spool/mail/root 符号链接到 /var/spool/mail/nobody 来解决这个问题 - 然后我可以以 root 身份读取 root 的邮件。
请注意,这不是推荐的做法 - 大多数人会建议您将 root 的邮件定向到 /etc/aliases 中的另一个用户。

在线程的更深处,他们还记得postfix 有关根邮件常见问题解答

如果您使用 procmail(或其他一些命令)进行本地邮件传递,Postfix 将不会以 root 身份传递邮件。相反,Postfix 以无人身份运行 procmail(或其他)。也许有一天 Wietse 会足够信任 Postfix 来以 root 身份运行外部命令。解决方案:就像您不应该以 root 身份登录(异常情况除外)一样,您也不应该以 root 身份接收邮件。

为 root 创建一个邮件别名,将邮件转发给真实用户。