Table of Contents
Linux 下邮件(mail)查收
登录 Linux 系统后,经常会看到:
you have mail.
这表示系统邮箱里有发给当前用户的本地邮件。很多 Linux 发行版会把本地邮件保存在 /var/spool/mail/用户名 或 /var/mail/用户名 中。可以直接用 mail 或 mailx 命令查看。
查看邮件
在终端执行:
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
是否能发送到外部邮箱,取决于本机是否配置了邮件传输代理,例如 sendmail、postfix 或其他兼容程序。只在本机用户之间收发时,通常不需要完整的外部邮件服务器配置。
多用户终端通信: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
