歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> Linux系統下mail命令使用

Linux系統下mail命令使用

日期:2017/3/2 16:41:24   编辑:Linux服務器

我經常用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 [email protected] Mon Feb 16 17:27 117/3862 "Logwatch for rhel5-pp"
U 2 [email protected] Mon Feb 16 17:27 107/3658 "Logwatch for rhel5-pp"
...
U 20 [email protected] Wed Mar 11 10:10 139/4567 "Logwatch for pps.hoho"
U 21 [email protected] Wed Mar 11 13:15 20/664 "Re: Warning: could no"
U 22 [email protected] 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刪除的郵件,
&nbs

p; //已閱讀郵件會轉存到當前用戶家目錄下的mbox文件中
//如果在mbox中刪除文件才會徹底刪除。

如果郵件被收取放到 ~/mbox 可以這樣查看它們:
# mail -f ~/mbox
進入 mail 程序後的操作都很簡單,但是可以不進入 mail 的 & 操作提示符界面,下面舉幾個實用例子:
1、給 [email protected] 發信
[root@pps ~]# mail [email protected]
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

Copyright © Linux教程網 All Rights Reserved