Linux下邮件(mail)查收

Linux 下邮件(mail)查收

登录 Linux 系统后,经常会看到:

you have mail.

这表示系统邮箱里有发给当前用户的本地邮件。很多 Linux 发行版会把本地邮件保存在 /var/spool/mail/用户名/var/mail/用户名 中。可以直接用 mailmailx 命令查看。

查看邮件

在终端执行:

mail

mail 会列出当前用户邮箱中的邮件,并按时间顺序显示。进入交互界面后,常用操作如下:

回车        查看下一封邮件
p           重新显示当前邮件
d           删除当前邮件
s filename  将当前邮件保存到指定文件
q           退出 mail
h           重新显示邮件列表
?           查看帮助

如果只想确认本地邮箱文件是否存在,也可以检查:

ls -l /var/spool/mail/$USER /var/mail/$USER 2>/dev/null

不同系统的路径可能不同,以上两个路径通常会有一个存在。

给自己发送一封测试邮件

可以先给自己发一封邮件,再用 mail 读取,便于熟悉流程:

mail frank

随后输入主题和正文:

Subject: test
This is a mail test

正文输入完毕后,按 Ctrl-D 结束输入。终端通常会显示:

EOT

然后查看邮件:

mail

可能看到类似输出:

"/var/spool/mail/frank": 1 message 1 new
>N  1 frank@xteam.xteamlinux.com  Thu Mar 25 11:00  13/403  "test"
&

输入邮件编号或直接回车即可查看内容:

Message 1:
From frank Thu Mar 25 11:00:25 1999
To: frank@xteam.xteamlinux.com
Subject: test

This is a mail test
&

&mail 的交互提示符。此时可以输入 d 删除邮件,输入 q 退出。

从文件发送邮件

如果已经准备好邮件正文,可以把文件内容通过管道发送:

mail -s "test subject" user@example.com < message.txt

也可以发送给本机用户:

mail -s "local test" "$USER" < message.txt

是否能发送到外部邮箱,取决于本机是否配置了邮件传输代理,例如 sendmailpostfix 或其他兼容程序。只在本机用户之间收发时,通常不需要完整的外部邮件服务器配置。

多用户终端通信:write 与 mesg

Linux 处于多用户环境时,有时终端上会突然显示类似信息:

Message from renee tty2...

并伴随提示音。这表示用户 renee 正尝试通过 write 命令向你发送终端消息。可以用下面的命令响应:

write renee

这样会在你和 renee 的终端之间建立一条简单的文字通信线路。对方键入的内容会显示在你的终端上,你键入的内容也会显示在对方终端上。

常见的约定是:

(o)   表示一段话说完,轮到对方发话
(oo)  表示通话结束

示例:

renee's terminal:                 frank's terminal:

[renee@xteam renee]$ write frank
                                  Message from renee tty2...
                                  $ write renee
Message from you tty1...

did you forget lunch? (o)         did you forget lunch? (o)
ten minutes (o)                   ten minutes (o)
ok (oo)                           ok (oo)
Ctrl-D                            Ctrl-D
EOF                               EOF

Ctrl-D 外,也可以使用 Delete 退出 write 命令,具体行为与终端设置有关。

如果不希望别人向你的终端发送消息,可以使用:

mesg n

重新允许接收消息:

mesg y

当你向拒绝接收消息的用户发送 write 请求,或者向未登录的用户请求通话时,write 会显示不能通话的原因。

转自:http://edu.codepub.com/2010/0413/21978.php

Leave a Reply