Linux Mail

 

19.6  客戶端的收發信軟件

應用Mail Server有兩種主要的方式,可以直接登錄Linux主機來操作MTA,也可以通過客戶端的MUA軟件來收發信件,下面分別介紹這兩種方式。

19.6.1  Linux Mail

在Unix like的操作系統中都會存在一個可以進行收發信件的指令,即Mail指令。這個指令是由Mail這個軟件所提供的,所以需要先安裝Mail軟件。另外,由於Mail是Linux系統的功能,所以即使端口25(SMTP)沒有啓動,它還是可以使用的,只不過該郵件只會被放到隊列,而無法寄出去。下面來談一談最簡單的Mail用法。

1. 用Mail直接編輯文字郵件與寄信

Mail的用法很簡單,即利用“Mail[E-mail address]”的方式來將信件寄出,“ E-mail address”可以是對外的郵件地址,也可以是本機的賬號。如果是本機賬號的話,直接加賬號名稱即可。例如:Mail root或Mail [email protected]。如果是對外寄信的話,信件默認的Mail from就會填寫main.cf內的myorigin變量的主機名稱。先來試試看,寄給[email protected]

[root@linux ~]# Mail [email protected]
Subject: Just test          <==這裏填寫信件標題
This is a test E-mail.     <==下面爲信件的內容
bye bye !
.                              <==注意,這一行只有小數點,代表結束輸入
Cc:                           <==密碼副本

這樣即可將信件寄出。另外,早期的Mail Server是可以接收IP寄信的,例如:Mail dmtsai@[192.168.1.254],記得IP要用中括號包起來。不過由於受到垃圾郵件的影響,現在這種方式幾乎都無法成功的將信件寄出了。

2. 利用已經處理完的純文本文件寄信

這裏說的不是以附件發送的方式,因爲在Mail這個程序裏編輯信件是個很痛苦的差事,不能夠按上、下、左、右鍵回到剛剛編輯有錯誤的地方,很傷腦筋。此時可以通過標準輸入來處理。如果您忘記“< ”代表的意義,請參考《鳥哥的私房菜——基礎學習篇》中的Bash shell章節。例如您要將默認目錄的“.bashrc”寄給別人,可以這樣做:

[root@linux ~]# Mail -s 'My bashrc' dmtsai < ~/.bashrc

3. 開始接收信件

寄信比較簡單,那麼收信呢?收信還是使用Mail。直接在提示字符後輸入Mail時,會主動的捉取用戶在/var/spool/Mail下的郵件信箱(Mailbox),例如dmtsai這個賬號在輸入Mail後,就會將/var/spool/Mail/dmtsai文件的內容讀出來並顯示到屏幕上,結果如下:

[root@linux ~]# Mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/spool/Mail/dmtsai": 1 message 1 unread
>U  1 [email protected]  Fri Nov 24 11:34  32/764   "My bashrc"
&  <==這是Mail軟件的提示字符,可以輸入“?”來查看可用指令

上述代碼顯示dmtsai有一封信,且會附上該信件的發信者、標題及收信時間等。可以應用的指令如下。

(1)讀信(直接按Enter或輸入數字按Enter)

當看到“> ”符號時,表示目前Mail所在的郵件字段,您可以直接輸入數字按Enter或在“&”後的光標位置輸入號碼,即可看到該封信件的內容。如果持續按Enter,則會自“>”符號所在的郵件逐次向後讀取每封信件內容。

(2)顯示標題(直接輸入h)

如果要重新顯示每封信的標題,則輸入h即可。

(3)回覆郵件(直接輸入R)

如果要回複目前“>”符號所在的郵件,直接輸入R即可進入剛剛前面介紹過的Mail文字編輯界面了。可以在編輯信件後回覆郵件。

(4)刪除郵件(輸入d)

輸入“d## ”即可刪除郵件。例如要刪除第2封郵件,可以輸入“d 2”如果要刪除第10~50封郵件,可以輸入“d 10-50”。如果有刪除郵件的話,離開Mail box時,要使用q。

(5)儲存郵件到文件(輸入s+文件名)

如果要將郵件資料存下來,可以輸入“s##filename”,例如要將第2封郵件存下來,可以輸入“s 1 uuencode”即可將第2封郵件內容另存爲uuencode文件。

(6)離開Mail(輸入q或x)

要離開Mail可以輸入q或者是x,輸入x可以在不更改Mail box的情況下離開Mail程序,不管剛剛有沒有使用d刪除數據;使用q會將刪除的數據清除,並且會將所有已讀過的信件內容轉存到默認目錄下的mbox文件。也就是說,如果您不想更改Mail box,那就使用x或exit離開,如果想要使剛剛移除的操作生效,就要使用q。不過,使用q之後,只有未讀的信件纔會保留在/var/spool/Mail/accout裏,其他已讀的數據都會被存入“~/mbox”中。例如 /home/dmtsai/mbox爲儲存dmtsai已讀過的信件。

(7)請求幫助

關於Mail更詳細的用法可以輸入help以顯示目前Mail的所有功能。

上面是簡易的Mail收信功能。不過,如果離開Mail時按下q,信件將轉存到“~/mbox”這個郵件信箱,那麼該如何讀取這個文件內的信件數據呢?可簡單的使用以下方式來讀取:

[root@linux ~]# Mail -f ~/mbox

4. 以“附件”的方式寄信

前面提到的都是信件的內容,那麼能否以“附件”的方式來傳遞文件呢?當然是可以的,不過需要uuencode指令的幫助,在CentOS中這個指令屬於shartuils,請先利用yum來安裝它。接下來可以這樣使用:

[root@linux ~]# [利用uuencode編碼 ] | [利用Mail寄出去]
[root@linux ~]# uuencode [實際文件] [信件中的文件名]|Mail-s '標題' E-mail

範例一:將“~/.bashrc”以附件的方式寄給dmtsai
[root@linux ~]# uuencode ~/.bashrc bashrc | Mail -s 'test encode' dmtsai

這樣就能寄出去了,不過,如果收下這封信件呢?需要通過譯碼器來解碼。首先需要將該文件存下來,然後進行如下操作:

[root@linux ~]# Mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/spool/Mail/dmtsai": 2 messages 2 unread
>U  1 [email protected]  Fri Nov 24 11:34  32/764   "My bashrc"
 U  2 [email protected]  Fri Nov 24 11:52  24/904   "test encode"
& s 2 test_encode
"test_encode" [New file]
& exit

[root@linux ~]# uudecode test_encode -o decode
                               加密文件          輸出文件

雖然Mail指令不是很好用,但至少它可以提供一種在Linux純文本模式下的簡單的收發信件功能。我們最好還是熟悉一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章