![‘mail my_name’ 命令无法发送消息](https://linux22.com/image/893027/%E2%80%98mail%20my_name%E2%80%99%20%E5%91%BD%E4%BB%A4%E6%97%A0%E6%B3%95%E5%8F%91%E9%80%81%E6%B6%88%E6%81%AF.png)
运行命令的结果mail my_name
:
$ mail my_name
Cc:
Subject: me
this mail
ctr d
cannot send message: Process exited with a non-zero status
$
我是 Unix 新手,刚开始学习、阅读这本书。我在 VirtualBox 中使用 Ubuntu 16.04。我尝试按照链接中书第 8 页上的说明从终端向自己发送邮件:
正确的退出方式是输入Ctrl+D而不是命令;这会告诉 shell
没有更多输入.........发送邮件给某人很简单。假设是发送给登录名为 的人
nico
。最简单的方法是:$ 邮件 mico 现在输入字母 任意多行...按Ctrl+ D。Ctrl+D 表示信件已结束,表示没有更多输入。
我不知道我是否正确配置了我的邮件(我正在尝试重新配置我的邮件,但不知道该怎么做)。当我配置我的邮件时,我没有提供电子邮件地址,我觉得这很奇怪。
答案1
需要配置邮件才能接收来自本地用户的消息。配置邮件的最简单方法是安装 sendmail sudo apt sendmail
,安装时 sendmail 程序将运行 3 到 5 分钟,然后它会自动配置邮件。sendmail
需要额外的配置才能通过互联网发送邮件,我将在此跳过,因为您的问题是关于如何使用该mail
程序向本地用户发送消息。
然后输入mail
以启动程序,并在提示符后?
输入消息编号以在终端中阅读它。发送后可能需要几分钟才能收到新消息的通知。然后您将看到新消息已添加到收件箱中的消息列表中。
如果您收到错误消息:cannot send message: Process exited with non-zero status
这意味着邮件未正确退出。避免收到此错误消息的方法是将邮件正文结束后的下一行设为仅包含以下内容的换行符:。字符并按Enter。这表示消息结束。然后按键盘组合Ctrl+C退出撰写消息。或者,您可以按照第 8 页所述操作Unix 编程环境并按下键盘组合键Ctrl+D来告诉命令行 shell 没有更多输入,以表示消息结束。