Linux mail命令:傳送和接收電子郵件

2020-07-16 10:04:34
mail 是 Linux 的郵件用戶端命令,可以利用這個命令給其他使用者傳送郵件。

mail 命令的基本資訊如下。
  • 命令名稱:mail。
  • 英文原意:send and receive Internet mail。
  • 所在路徑:/bin/mail。
  • 執行許可權:所有使用者。
  • 功能描述:傳送和接收電子郵件。

【例 1】傳送郵件。
如果我們想要給其他使用者傳送郵件,則可以執行如下命令:

[[email protected] ~]# mail userl
Subject: hello <-郵件標題
Nice to meet you! <-郵件具體內容
. <-使用.來結束郵件輸入
#傳送郵件給user1使用者

我們接收到的郵件都儲存在"/var/spod/mail/使用者名稱"中,每個使用者都有一個以自己的使用者名稱命名的郵箱。

【例 2】傳送檔案內容。
如果我們想把某個檔案的內容傳送給指定使用者,則可執行如下命令:

[[email protected] ~]# mail -s "test mail" root </root/ anaconda-ks.cfg
#把/root/anaconda-ks.cfg檔案的內容傳送給root使用者

選項:
-s: 指定郵件標題

我們在寫指令碼時,有時需要指令碼自動傳送一些資訊給指定使用者,把要傳送的資訊預先寫到檔案中,是一個非常不錯的選擇。

【例 3】檢視已經接收的郵件。
我們可以直接在命令列中執行 mail 命令,進入 mail 的互動命令中,可以在這裡査看已經接收到的郵件。例如:

[[email protected] ~]# mail
Heirloom Mail version 12.4 7/29/08.Type ?for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 root Mon Dec 5 22:45 68/1777 "test mail"<-之前收到的由件
>N 2 root Mon Dec 5 23:08 18/602 "hello"
#未閱讀編號發件人 時間 標題
&
<-等待使用者輸入命令

可以看到已經接收到的郵寄清單,"N"代表未讀郵件,如果是已經閱讀過的郵件,則前面是不會有這個"N"的;之後的數位是郵件的編號,我們主要通過這個編號來進行郵件的操作。如餓們想要査看第1郵件,則只需輸入郵件的編號"1"就可以了》

在互動命令中執行"?",可以檢視這個互動介面支援的命令。例如:

&? <-輸入命令
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

這些互動命令是可以簡化輸入的,比如"headers"命令,就可以直接輸入"h",這是列出郵件標題列表的命令。我們解釋一下常用的互動命令。
  • headers:列出郵件標題列表,直接輸入"h"命令即可。
  • delete:刪除指定郵件。比如想要刪除第二封郵件,可以輸入"d2"。
  • save:儲存郵件。可以把指定郵件儲存成檔案,如"s 2/tmp/test.mair。
  • quit:退出,並把已經操作過的郵件進行儲存。比如移除已刪除郵件,儲存已閱讀郵脾。
  • exit:退出,但是不儲存任何操作。