在Linux/UNIX中,什么是"你有新邮件"信息?

有时,当我登录到一个盒子并'su'到根,我得到一个可爱的小消息,说我有邮件(感谢上帝,这不是AOL)。

  • 这个邮件在哪里?
  • 它包含什么内容?
  • 谁/什么人发的?
  • 它有多重要?

这甚至是真正的"邮件",与电子邮件的意义相同吗?还是说这只是我的系统在告诉我什么?

编辑:关于这个问题,我是否可以用sendmail程序给自己发送邮件,就像这样。email@localhost

对该问题的评论 (6)
解决办法

这封邮件在哪里?

它很可能在spool文件中。/var/mail/$USER/var/spool/mail/$USER是Linux和BSD上最常见的位置。

(其他位置也有可能– 检查是否设置了$MAIL'– 但默认情况下,系统只通知你/var(/spool)/mail'。)

通常spool文件是非常简单的mbox格式,所以你可以用文本编辑器或pager打开它。

对于一个稍微方便的方法,大多数发行版都有一个叫做mail(或Mailmailx)的程序。你可以试试muttalpine;你甚至可以把它配置为发送到外部邮箱。(见下面的 "这是真正的邮件吗?")。

它包含什么内容,以及谁/什么人发送的?

大多数情况下,这些信息包含cron作业的输出,或者是logwatch的系统安全报告,或者类似的垃圾。阅读它并找出答案。

它有多重要?

在很大程度上取决于每条信息的内容。

你至少应该*扫描主题标题–经常有人忽视邮件几个月,从来没有意识到他们的日常cron作业失败。

这甚至是真正的"邮件",与电子邮件的意义相同吗?还是说这只是我的系统在告诉我什么?

两者都是,它是由你的系统生成的,告诉你一些事情,但它也是实际的电子邮件,可以作为电子邮件处理。

你可以(而且应该)配置你的邮件软件和"MTA" aka /usr/sbin/sendmail – 把邮件转发到你的个人邮件地址。确切的说明取决于你安装了哪种MTA(如果有的话),这是一台个人电脑还是一台服务器,你是否有自己的域名或使用@gmail.com,等等。

请注意,/usr/sbin/sendmail现在是一个共享的API,_并不意味着原始的Sendmail MTA。事实上,你不应该使用Sendmail,而应该使用更现代的东西,如OpenSMTPD、Postfix或Exim4。它们都提供相同的/usr/sbin/sendmail工具,但它们更容易配置,更安全,而且同样强大。

评论(7)

对我来说,最简单的方法是在终端中运行以下内容。

cat /var/spool/mail/root
评论(5)

对于想知道如何逐一阅读这些消息的人,你可以直接使用'mail&#39。

$ mail

然后从列表中输入一个你想阅读的信息编号。

要进入下一条信息,你可以输入'next',另一个有用的命令是'delete'。

要了解更多关于mail程序如何工作,请看man mail的输出。

评论(5)

我想澄清一下,UNIX 盒子运行一个 "local configured&quot.邮件守护进程已经是很久的传统了,这个守护进程不会通过互联网来路由邮件,而只是将邮件复制到其他用户的 spool 目录中 (如 @John T 所说)。 mailer daemon,不通过互联网路由邮件,而只复制邮件到其他用户的spool目录(如@John T提到的)。 它是真正的SMTP兼容的电子邮件,它'只是不通过互联网路由,因为它不需要。

因此,如果你启动一个电子邮件客户端(如alpinemutt),你可以发送邮件给系统上的其他用户,通过地址user@hostname,或在许多情况下,只是指定用户。 你也可能有一个叫mailx的命令行工具,可以用来使用shell快速发送邮件。

现在,如果你想向登录系统以外的用户发送邮件,那才是真正的乐趣所在。 你需要配置你的mailer daemon来识别并将外部邮件交给转移代理,配置转移代理,并做一大堆我自己还不明白的事情。

评论(0)

**这封邮件在哪里?

很可能存储在你的机器上,在你的根用户的邮箱文件夹中(这取决于你安装的是哪种邮件服务器)。你可能可以通过alpine快速访问它。

**它包含什么?

可能只是一些系统报告类型的东西。 "某某试图用一个错误的密码登录10次"... "我希望有人能对我进行更新", "驱动程序 这样那样的驱动程序不断失效", "NSA机器人将性能提高了1%"...等等。

**谁/什么人发来的?

你服务器上的服务,最有可能。

**它有多重要?

取决于你的服务器有多重要。

评论(6)

当配置了(通常)默认的sendmail daemon时,这个邮件通常位于/var/spool/mail/root中。它包含了一个可以被mail工具读取的RAW电子邮件信息。谁发送的邮件可以通过运行mail工具和翻阅邮件或阅读RAW标题来找到。

信息的重要性通常取决于前一个因素,即谁发送的信息 :)

许多系统实用程序将使用邮件子系统作为报告和记录的手段。日志观察工具和其他服务可能会向本地根用户发送一封电子邮件,作为对某一特定事件的提醒,如磁盘空间不足或硬件错误。如果邮件守护程序向外发送电子邮件失败,它也会提醒你。

评论(4)

less +G /var/spool/mail/root

显示最新的邮件,在文件的最后。

直接显示邮件文件是个好主意,但使用cat很容易出错。 你不希望所有**的邮件都滚动,如果有很多邮件,或者文件中的邮件非常长。 我刚刚看到一个有150MB,两百万行。

如果你不是root。

sudo less +G /var/spool/mail/root

+G选项用于首先显示最新的信息。 它不在文件的顶部,而是在最后。

它是 "less "的一个选项,使它在开始后显示文件的最后一页。 如果最后一条信息(最新的)可以显示在一页上,否则就显示在最后一页上。

文件名可以是/var/spool/mail/mail而不是/var/spool/mail/root

评论(2)