我正在尝试通过执行以下命令从 Linux 命令行发送电子邮件:
echo "this is a test" | mail -s Subject <email address>
我得到的错误是:
send-mail: RCPT TO:<email address> (550 aliases)
我确信我的/etc/ssmtp/ssmtp.conf
文件配置正确。我缺少什么?
答案1
RCPT TO:
是一条 SMTP 客户端消息,它告诉服务器您将要向给定的电子邮件地址发送邮件; 550 是对该消息的可能回复,表明服务器无法将邮件发送到该地址。这RFC其定义如下:
550 Requested action not taken: mailbox unavailable (e.g., mailbox
not found, no access, or command rejected for policy reasons)
它还表示服务器应该随 550 行一起提供更详细的消息。您的输出aliases
很可能是“更详细的消息”。
不,这不是很详细,但唯一可以解决这个问题的人是您的邮件服务器管理员。如何从这里继续进行很大程度上取决于您的情况:
- 如果您是邮件服务器的管理员,请检查其配置和日志;
- 如果您不是邮件服务器的管理员,请与管理员交谈并询问他们为什么您无法通过他们的服务器发送邮件。
答案2
感谢您指出解决方案的答案:
我必须/etc/ssmtp/revaliases
使用以下语法为登录用户创建条目:
root:[email protected]
然后,echo "this is a test" | mail -s Subject <email address>
工作了。