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

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

我在 Debian VPS 中设置了一个邮件系统。除了我无法向用户发送电子邮件之外,一切工作都很顺利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")

据我了解,这意味着信件已成功发送。但始终没有送到root他的邮箱里。

答案1

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

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

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

所以 procmail 在传递 root 的邮件时会以无人身份运行。

我通过将 /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 创建邮件别名,将邮件转发给真实用户。

相关内容