在這裡整理一下Linux中mail命令的使用。mail也是一個常用的命令,我們在很多地方都要用到它,比如定時把系統狀況或日志發送到我們的郵箱裡等等。
首先通過help參數來查看mail的所有參數如下:
復制代碼代碼如下:
Usage: mail [-BDFintv~] [-s subject] [-a attachment ] [-c cc-addr] [-b bcc-addr]
[-r from-addr] [-h hops] [-A account] [-R reply-addr] to-addr …
mail [-BDeHiInNRv~] [-T name] [-A account] -f [name]
mail [-BDeinNRv~] [-A account] [-u user]
1、發送標題加文本內容
運行命令:
復制代碼代碼如下:
mail -s “this is a title” [email protected]
回車,繼續輸入文本,也就是郵件內容
復制代碼代碼如下:
this is content
然後按Ctrl+D退出。
復制代碼代碼如下:
EOT
上面是最簡單的例子,假如我們想要發送給多個郵箱呢?在上面的郵箱後面加另外的郵箱地址,郵箱間以空格隔開即可,如下:
復制代碼代碼如下:
mail -s “this is a title” [email protected] [email protected]
在上面的例子中,發件人是Linux當前的登錄用戶名,比如我當前登錄的用戶名為admin,那麼發送的郵箱地址是[email protected],如果郵箱後綴域名是163.com的話。但有時我們想寫上發件人的名稱,還有不想采用默認的郵箱地址,這時我們可以這麼做:
復制代碼代碼如下:mail -s “this is a title” -r “[email protected]” [email protected]
這時發件人郵箱就變為了 [email protected],一些垃圾郵件就是采用的這種方法,隱藏自己真實的郵件地址。
如果我們想要收件人回復郵件時,回復的郵箱地址與我們的發信郵箱不同,那麼我們可以自定義回復郵箱地址,如下:
復制代碼代碼如下:mail -s “this is a title” -r “[email protected]” -R “[email protected]” [email protected]
那麼收信人回復時,會默認發送到[email protected],而不是默認的[email protected]。
2、發送附件
有時我們需要發送附件,那麼也是非常容易的,如下:
復制代碼代碼如下:
mail -s “this is a title” -r “[email protected]” -a “/home/hadoop/report/3.txt” [email protected]
在這裡要說明一下的時,如果我們的附件是不大的文本文件,我們有時也用不著發送附件,可以直接將附件的文本當做郵件內容發送,這樣通過郵件查看時也更方便些,如下:
復制代碼代碼如下:
mail -s “this is a test” [email protected] < /home/hadoop/project/3.txt
3、不用回車輸入郵件內容發送郵件
在上面的例子中,你如果照做的話,你會發現很不方便,那就是每次輸入郵件內容都需要在命令運行後回車輸入內容,最後還要再按Ctrl+D完成。實際上,可以不用這麼費勁的,如下:
復制代碼代碼如下:
echo “this is content” | mail -s “this is a title” [email protected]
通過echo命令來輸入郵件內容“this is content”,這樣就簡單多了!
4、查看郵件
通過mail命令也可以查看收到的郵件,這個我就簡單說一下吧,畢竟這個相對不常用,命令很簡單,直接輸入mail,會出現收到的郵件,每個郵件都對應一個序列號,如果要查看某封郵件,直接在?後輸入數字序列號即可。
在?後輸入help可以查看所有的參數,如下:
復制代碼代碼如下:
? help
mail commands
type <message list> type messages
next goto and type next message
from <message list> give head lines of messages
headers print out active message headers
delete <message list> delete messages
undelete <message list> undelete messages
save <message list> folder append messages to folder and mark as saved
copy <message list> folder append messages to folder without marking them
write <message list> file append message texts to file, save attachments
preserve <message list> keep incoming messages in mailbox even if saved
Reply <message list> reply to message senders
reply <message list> reply to message senders and all recipients
mail addresses mail to specific recipients
file folder change to another folder
quit quit and apply changes to folder
xit quit and discard changes made to folder
! shell escape
cd <directory> chdir to directory or home if none given
list list names of all available commands</p>
<p>A <message list> consists of integers, ranges of same, or other criteria
separated by spaces. If omitted, mail uses the last message typed.
在?後也可以直接輸入mail寫信哦,就跟上面的例子一樣,所不同的是,每步都會有提示,如下:
復制代碼代碼如下:
? mail
To: [email protected]
Subject: this is a title
content
EOT