无法在 Linux 上的用户之间发送本地邮件消息

无法在 Linux 上的用户之间发送本地邮件消息

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

相关内容