- 我正在运行 Debian
- 我已设置
ssmtp
为我的 MTA,效果非常好 mail
我可以使用mailx
标准用户帐户发送邮件
但是......当我跑步时sudo apticron
我得到:
send-mail: RCPT TO:<[user]@[mydomain].com> (550 Sender verify failed)
有任何想法吗? (我自己清空了电子邮件详细信息 - 这不是错误的一部分)
更新:
当运行mail
或mailx
以 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 无法发送电子邮件(这不再限于单个程序)
答案1
您的远程邮件服务器不相信root@yourdomain
SMTP 信封 1 是有效的电子邮件地址,因此它拒绝您发送的邮件。这就是 apticron 试图发送的地方,所以它不起作用。
ssmtp 允许您覆盖默认电子邮件地址并在文件中基于每个用户进行转发/etc/ssmtp/revaliases
。您可以使用它来设置可接受的(到您的邮件中继)地址root
,方法是添加如下行:
root:EMAIL@DOMAIN:RELAY-HOST:RELAY-PORT
将全部大写部分替换为您要使用的电子邮件地址和中继主机。
注意:其中大部分来自聊天中的故障排除,从这条信息。
1请注意,SMTP“信封”发件人与邮件客户端中显示的发件人:字段不同。不过,如果你幸运的话,它会保存在不同的标头中。