我经常用root帐号登录RHEL5,在终端经常出现:
You have new mail in /var/spool/mail/root
这肯定是系统给root超级管理员发的一些通知邮件,我常用mail命令来查看。
【注意】下面mail命令的help帮助是我个人随便翻译的,准确的请看英文说明
[root@pps mail]# mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/root": 24 messages 24 unread
>U 1 logwatch@rhel5-pps.h Mon Feb 16 17:27 117/3862 "Logwatch for rhel5-pp"
U 2 logwatch@rhel5-pps.h Mon Feb 16 17:27 107/3658 "Logwatch for rhel5-pp"
...
U 20 logwatch@pps.hoho.co Wed Mar 11 10:10 139/4567 "Logwatch for pps.hoho"
U 21 root@pps.hoho.com Wed Mar 11 13:15 20/664 "Re: Warning: could no"
U 22 MAILER-DAEMON@pps.ho Wed Mar 11 13:15 71/2294 "Returned mail: see tr"
& help //如果不会使用或者忘记了什么命令,就输入 help 或者 ? 来获取帮助
Mail Commands
t <message list> 打印出信息 【注意】多个信息用空格分开,如 t 1 7
n 打印出下一条信息
e <message list> 编辑信息
f <message list> 输出信息的头行
d <message list> 删除信息
s <message list> file 追加信息到文件file
u <message list> 不删除某信息
R <message list> 回复发件人
r <message list> 回复发件人和本信息所有的收件人
pre <message list> 保留信息在 /usr/spool/mail 1*
m <user list> 发邮件,多个收件人用空格分开【需要sendmail支持】
q quit, saving unresolved messages in mbox 2*
x quit, do not remove system mailbox
h print out active message headers
! 让shell执行某命令,如 !ls 输出ls命令结果
cd [directory] 改变目录,这里不用 !cd,但打印当前目录需要 !pwd
A <message list> consists of integers, ranges of same, or user names separated
by spaces. If omitted, Mail uses the last message typed.
A <user list> consists of user names or aliases separated by spaces.
Aliases are defined in .mailrc in your home directory.
1* 如果阅读过某信息,执行q退出时候,mail会把阅读过的信息“取回”放在 ~/mbox,执行pre后就不取回。如果退出时执行x命令则不会取回信息。
2* 这三句不难理解,但不好翻译(本人水平问题),也就保留原文了
所支持的全部命令列表:
& l
Commands are:
next, alias, print, type, Type, Print, visual, top, touch, preserve,
delete, dp, dt, undelete, unset, mail, mbox, more, page, More, Page,
unread, U, !, copy, chdir, cd, save, source, set, shell, version,
group, write, from, file, folder, folders, ?, z, headers, help, =,
Reply, Respond, reply, respond, edit, echo, quit, list, xit, exit,
size, hold, if, else, endif, alternates, ignore, discard, retain,
saveignore, savediscard, saveretain, core, #, clobber
& t 7 //阅读第7封信息,阅读时,按空格键就是翻页,按回车键就是下移一行
& d 10 //删除第10封信息
& d 10-100 //删除第10-100封信息
& top //显示当前指针所在的邮件的邮件头
& file //显示系统邮件所在的文件,以及邮件总数等信息
& x //退出mail命令平台,并不保存之前的操作,比如删除邮件
& q //退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,
//已阅读邮件会转存到当前用户家目录下的mbox文件中
//如果在mbox中删除文件才会彻底删除。
如果邮件被收取放到 ~/mbox 可以这样查看它们:
# mail -f ~/mbox
进入 mail 程序后的操作都很简单,但是可以不进入 mail 的 & 操作提示符界面,下面举几个实用例子:
1、给 snailwarrior@qq.com 发信
[root@pps ~]# mail snailwarrior@qq.com
Subject: Hi, a mail to snailwarrior!
This is hoho_zhao in BeiJing.
.
Cc: <Enter> //直接输入回车就不抄送给谁了
【注意】使用.或者Ctrl+D来结束内容输入
【注意】默认情况下连按两次Ctrl+C键中断工作
2、如果 snail 是本系统用户,这样给他发信
[root@pps ~]# mail -s "hi, snail, i'm root" snail
plz reply me, snail.
.
Cc:
或者
[root@pps ~]# mail -s "hi, snail, i'm root" snail < 邮件内容
-s 主题
-c 抄送
-b 暗送
mail的使用:
Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
[-- sendmail-options ...]
mail [-iInNv] -f [name]
mail [-iInNv] [-u user]
详细的mail使用说明可以 # man mail
【小贴士】来自mail的man手册里的内容
文件 用途
/var/spool/mail/* 邮局(Post office)
~/mbox 用户老邮件
~/.mailrc mail的初始化命令。只有在mail使用者是这个文件的所有者时
候才执行此文件里的mail初始化命令
/tmp/R* 临时文件
/usr/lib/mail.*help 帮助文件
/etc/mail.rc mail系统初始化文件
因为mail的还得靠sendmail来投递邮件,根据网上资料可以这样查看sendmail是否有邮件待发,如果没有,说明邮件全都发送出去了。(当然你的sendmail服务要开着)
[root@pps ~]# sendmail -bp
/var/spool/mqueue is empty
Total requests: 0