是否可以在本地向使用者root發送電子郵件
我在我的 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")
據我了解,這意味著這封信已成功發送。但它從來沒有送到
root
’s 的郵箱。
postfix 使用
procmail
, 來傳遞電子郵件,並且由於出於安全原因而執行的postfix
呼叫,發送到的電子郵件最終將被發送給使用者。procmail``nobody``root``nobody
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
有關 root 郵件的常見問題解答:如果您使用 procmail(或其他命令)進行本地郵件投遞,Postfix 將不會以 root 身份投遞郵件。相反,Postfix 以無人身份執行 procmail(或其他)。也許有一天 Wietse 會信任 Postfix 足以以 root 身份執行外部命令。解決方案:就像您不應該以 root 身份登錄(異常情況除外)一樣,您也不應該以 root 身份接收郵件。
為將郵件轉發給真實使用者的 root 創建一個郵件別名。