在Linux系統下mail命令的用法
在Linux系統下mail命令的測試
1. 最簡單的一個例子:
mail -s test [email protected]
這條命令的結果是發一封標題為test的空信給後面的郵箱,如果你有mta並且後面的郵箱不會擋這種可能莫名奇妙的信的時候,就能收到這封信了。如果你不想被這種亂七八糟的事情幹擾,後面的郵箱請使用本地帳戶。
2. 第二個例子:
三種常用格式發信
mail -s test [email protected] #第一種方法,你可以把當前shell當成編輯器來用,編輯完內容後Ctrl-D結束
echo “mail content”|mail -s test [email protected] #第二種方法,我用的最多,可能是喜歡管道的緣故吧
mail -s test [email protected]< file #第三種方法,以file的內容為郵件內.容發信
mail -s test [email protected] < file #第三種方法,以file的內容為郵件內容發信
mail -s test -c [email protected] [email protected]< file #第四種方法,給多個用戶發送郵件
3. 第三個例子,帶附件的郵件
如果你的系統裏沒有uuencode命令的話,請先安裝sharutils(yum install -y sharutils)
uuencode 需要兩個參數,第一個是你要發送的文件(們),當然這個也可以用管道來做,第二個是顯示的文件名
uuencode /home/yfang/a.gif a.gif|mail -s pictest [email protected]
tar czf - /home/yfang/ | uuencode home.tgz |mail -s pictest [email protected]
ps: 順便補一句,slackware下的mail好像有一個-a參數,可以直接添加附件,我沒有用過。
4、閱讀郵件
Linux下Mail命令收集系統收到郵件都會保存在“/var/spool/mail/[linux用戶名]”文件中。
在linux中輸入mail,就進行了收件箱,並顯示二十封郵件列表。
& 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中刪除文件才會徹底刪除。
--------------------------------------
Linux郵件命令用法
1. 將文件當做電子郵件的內容送出
語法:mail -s “主題”用戶名@地址< 文件
例如:
mail -s “program” user < file.c 將file.c
當做mail的內容,送至user,主題為program。
2. 傳送電子郵件給本系統用戶
語法:mail 用戶名
3. 傳送電子郵件至外地用戶
語法: mail 用戶名@接受地址
.../usr/lib/sendmail -bp
......“Mail queue is empty” ......mail ....
例如:
[email protected]
Subject : mail test
:
鍵入信文內容
: :
按下Ctrl+D 鍵或. 鍵結束正文。
連按兩次Ctrl+C鍵則中斷工作,不送此信件。
Cc( Carbon copy) : 復制一份正文,給其他的收信人。
4. 檢查所傳送的電子郵件是否送出,或滯留在郵件服務器中
語法:/usr/lib/sendmail -bp
若屏幕顯示為“Mail queue is empty” 的信息,表示mail 已送出。
若為其他錯誤信息,表示電子郵件因故尚未送出。
=================================
mail、Mail 或 mailx 命令
用途
發送和接收郵件。
語法
讀取新來的郵件
mail -e
mail -f [ -dHNn ] [ -F ] [ FileName ]
mail [ -dHNn ] [ -F ] [ -u UserID ]
發送郵件
mail [ -s Subject ] [ -c Address(es) ] [ -dinNv ] Address
描述
mail 命令調用郵件實用程序,使您能夠:
* 讀取新來的郵件。
* 發送郵件。
另外,可以使用可用的選項和子命令來定制您發送和接收郵件的方法。
mail 命令可用於系統郵箱和個人郵箱兩類郵箱。
新來的郵件存儲在系統郵箱內。缺省情況下,用戶的系統郵箱是位於 /var/spool/mail 目錄中的一個文件。郵箱文件以用戶標識命名。例如,如果用戶標識是 jeanne,那麽系統郵箱是 /var/spool/mail/jeanne。
缺省情況下,當用戶讀取、刪除或保存在其系統郵箱內的所有郵件時,郵箱被刪除。要不刪除郵箱,請使用 set 子命令來設置 keep 選項。
標誌
-c Address(es) 指定要向其發送消息副本的用戶列表。可以指定一個或多個地址。當指定多於一個地址時,地址列表必須在引號("")內。
-e 測試系統郵箱內是否有郵件。如果存在要讀取的郵件,mail 實用程序不會寫入任何東西並帶一個成功返回碼而退出。
-f FileName 從指定的文件讀取消息。如果沒有指定文件操作數,那麽從 mbox 讀取消息。從讀取消息退出時,未刪除的消息會寫到這個文件中。
-F 將消息記錄在以收件人命名的文件中。該名稱是在郵件標題中 To: 行的地址的最前部分。如果設置則覆蓋 record 變量。
-H 僅寫標題摘要。
-i 忽略 tty 中斷信號。
-n 禁止讀取 /usr/share/lib/Mail.rc 文件。
-N 禁止標題的初始打印。
-s Subject 指定將創建的消息的主題。
-u UserID 指定與執行 mail -f /var/spool/mail/UserID 等同的縮寫。為指定的用戶的郵箱啟動 Mail 程序。必須有指定郵箱的訪問許可權。
-v 將 Mail 程序置為詳細方式。顯示傳送到用戶終端的詳細信息。
示例
1. 要啟動 Mail 程序並列出郵箱中的消息,請在命令行提示符下輸入以下信息:
mail
mail 命令列出在系統郵箱中的每條消息。郵件系統然後顯示郵箱提示符(?)來表示等待輸入。當您看到此提示符時,請輸入郵箱子命令。要查看子命令列表,請輸入:
?
本條目列出 Mail 子命令。
2. 要將消息 letter 發送到收件人 user1@host1 並抄送給 user2@host2 和 user3@host3,請輸入:
mail -c "user2@host2 user3@host3" user1@host1<letter
3. 要查看個人郵箱的內容,請輸入:
mail -f
此命令顯示在個人郵箱 $HOME/mbox 中的消息列表。
4. 要查看指定郵件文件夾的內容,請輸入:
mail -f +dept
此命令顯示在 dept 文件夾中的消息列表。
5. 要將消息發送到本地系統的用戶,請輸入:
mail ron
完成將消息輸入到用戶 ron 時,按 Enter 鍵以及 .(句號)或 Ctrl+D 來退出編輯器並發送消息。要確定某用戶是否在本地系統,請在 /etc/passwd 文件中查看該用戶名。
如果消息成功發送,將不會收到通知。如果消息無法發送,將發送給您一個錯誤信息。
6. 要將一個文件通過郵件發送到本地系統的另一位用戶,請輸入:
mail karen < letter1
此命令將文件 letter1 的內容發送到本地系統的用戶 karen。命令發送文件後,Mail 程序顯示命令行提示符。
7. 要將消息發送到一個遠程系統用戶,請輸入:
mail dale@zeus
現在可以創建一個到 dale 的消息。在本示例中,發送消息到遠程系統 zeus 上的 dale 用戶。要將消息發送到通過網絡連接到您的系統的另一個系統上的用戶,您必須知道那個人的登錄標識和另一個系統的名稱。
在Linux系統下mail命令的用法