Debian

root 不能發送郵件 (apticron) 但使用者可以 (mail/mailx)

  • April 20, 2015
  • 我正在執行 Debian
  • 我已經設置ssmtp為我的 MTA,這非常有效
  • mail我可以使用標準使用者帳戶和mailx標準使用者帳戶發送郵件

但是……當我跑步時,sudo apticron我得到:

send-mail: RCPT TO:<[user]@[mydomain].com> (550 Sender verify failed)

有任何想法嗎?(我自己刪除了電子郵件詳細資訊 - 這不是錯誤的一部分)


更新:

當執行mailmailx以 root 身份執行時,這些也會中斷!它們僅在我在標準使用者帳戶下執行它們時才起作用。

執行時我以 root 身份收到的錯誤消息:

echo "test" | mail -s "test" [user]@[mydomain].com 

與 apticron 相同:

RCPT TO:[user]@[mydomain]> (550 Sender verify failed) 

更新 2:

sudo mail -v etc...表明 root 使用者實際上用“root”替換了電子郵件地址的第一部分,儘管/etc/ssmtp/ssmtp.conf指定了FromLineOverride=NO

[<-] 220 and/or bulk e-mail.
[->] EHLO [user]@[mydomain].com
[<-] 250 HELP
[->] AUTH LOGIN
[<-] 334 VXNlcm5hbWU6
[->] [redacted Base64 username]
[<-] 334 UGFzc3dvcmQ6
[<-] 235 Authentication succeeded
[->] MAIL FROM:<root@[mydomain.com]>
[<-] 250 OK
[->] RCPT TO:<[user]@[mydomain].com>
[<-] 550 Sender verify failed
send-mail: RCPT TO:<[user]@[mydomain].com> (550 Sender verify failed)

編輯:

我已經刪除了以前粘貼apticron的程式碼,顯然問題在於 root 無法發送電子郵件(這不再限於單個程序)

您的遠端郵件伺服器不相信root@yourdomainSMTP 信封¹ 是有效的電子郵件地址,因此它會拒絕來自您的郵件。這就是 apticron 試圖發送的地方,所以它不起作用。

ssmtp 允許您覆蓋預設電子郵件地址並在/etc/ssmtp/revaliases文件中按使用者轉發。您可以使用它為 設置一個可接受的(到您的郵件中繼)地址root,方法是添加如下行:

root:EMAIL@DOMAIN:RELAY-HOST:RELAY-PORT

用您想使用的電子郵件地址和中繼主機替換全部大寫的部分。

注意:其中大部分來自聊天中的故障排除,從這條消息開始。


1請注意,SMTP“信封”發件人不同於郵件客戶端中顯示的“發件人:”欄位。雖然如果你很幸運,它會保存在不同的標題中。

引用自:https://unix.stackexchange.com/questions/196422