在https://unix.stackexchange.com/a/21336/99621它说如果你这样做
echo 'body' | mail -s 'subject' myuser
它将向myuser
本地系统上的 Linux 帐户发送一封邮件消息,该用户可以使用该mail
命令进行检查。我尝试通过运行该命令将邮件发送到我自己的用户帐户,它执行时没有任何问题(终端中没有输出,退出代码为 0)。
但是当我打字mail
检查邮件时,它说No mail for myuser
。
如果我将上面的邮件发送命令替换为不存在的命令,例如notexistinguser
,该命令仍然执行没有任何问题。
如何向本地 Linux 用户帐户发送邮件并查看? (我使用的是一个相当小的安装Archlinux。)我还安装了Postfix,它以默认配置启动并运行,我认为它可能会产生干扰,所以我停止了它,但仍然是同样的问题。
答案1
为了mail
按预期工作,它需要邮件传输代理 (MTA),例如Sendmail
、 或Postfix
。 Arch Linux 的最小安装两者都不包含。
您安装的方向正确Postfix
。 Arch wiki 有一个Postfix
专门针对本地邮件传递进行配置的指南:Postfix - 本地邮件。
使用 wiki 文章中建议的更改修改配置文件后/etc/postfix/main.cf
,您需要Postfix
使用以下命令启动守护进程:
$ systemctl start postfix
此后要永久启用本地邮件传送:
$ systemctl enable postfix