linux mail

解決「您在 /var/spool/mail/root 中有郵件」的問題

mail(選項)(參數)
單獨執行mail是查看郵箱有多少郵件
-選項
-b<地址>:指定密件副本的收信人地址;
-c<地址>:指定副本的收信人地址;
-f<郵件文件>:讀取指定郵件文件中的郵件;
-i:不顯示終端發出的信息;
-I:使用互動模式;
-n:程序使用時,不使用mail.rc文件中的設置;
-N:閱讀郵件時,不顯示郵件的標題;
-s<郵件主題>:指定郵件的主題;
-u<用戶賬號>:讀取指定用戶的郵件;
-v:執行時,顯示詳細的信息。

系統提供了用戶之間通訊的郵件系統,當用戶打開終端註冊登陸時發現系統給出以下信息:linux

you have mail.shell

這時用戶可經過鍵入mail命令讀取信件:vim

$ mail服務器

mail程序將逐個顯示用戶的信件,並依照時間順序,顯示最新的信件。每顯示一段信件,mail都詢問dom

用戶是否要對該信件做些處理。若用戶回答d,則表示刪除信件;若僅按回車鍵,表示對信件不做任何改編輯器

動(信件仍舊保存,下次還可讀這一信件);若回答p,則要求重複顯示信件;s filename表示要把信件ide

存入所命名的文件;若回答q,表示要從mail退出。spa

 

[root@localhost ~]# mail指針

Mail version 8.1 6/6/93. Type ? for help.code

"/var/spool/mail/root": 76 messages 76 unread

>U 1 root@localhost.local Mon Jan 19 15:43 24/936 "Cron <root@localhost>"

U 2 root@localhost.local Mon Jan 19 15:44 24/936 "Cron <root@localhost>"

U 3 root@localhost.local Mon Jan 19 15:45 24/936 "Cron <root@localhost>"

U 4 root@localhost.local Mon Jan 19 15:46 24/936 "Cron <root@localhost>"

U 5 root@localhost.local Mon Jan 19 15:47 24/936 "Cron <root@localhost>"

> 表示當前郵件 U 表示未讀

& p //顯示當前郵件

Message 1:

From root@localhost.localdomain Mon Jan 19 15:43:02 2009

Date: Mon, 19 Jan 2009 15:43:02 +0800

From: root@localhost.localdomain (Cron Daemon)

 

& 2 //顯示標號爲2的文件

Message 2:

其餘經常使用參數:

unread 標記爲未讀郵件

h|headers 顯示當前的郵件列表

l|list 顯示當前支持的命令列表

?|help 顯示多個查看郵件列表的命令參數用法

d 刪除當前郵件,指針並下移。 d 1-100 刪除第1到100封郵件

f|from 只顯示當前郵件的簡易信息。 f num 顯示某一個郵件的簡易信息

f|from num 指針移動到某一封郵件

z 顯示剛進行收件箱時的後面二十封郵件列表

more|p|page 閱讀當前指針所在的郵件內容 閱讀時,按空格鍵就是翻頁,按回車鍵就是下移一行

t|type|more|p|page num 閱讀某一封郵件

n|next|{什麼都不填} 閱讀當前指針所在的下一封郵件內容

閱讀時,按空格鍵就是翻頁,按回車鍵就是下移一行

v|visual 當前郵件進入純文本編輯模式

n|next|{什麼都不填} num 閱讀某一封郵件

top 顯示當前指針所在的郵件的郵件頭

file|folder 顯示系統郵件所在的文件,以及郵件總數等信息

x 退出mail命令平臺,並不保存以前的操做,好比刪除郵件

q 退出mail命令平臺,保存以前的操做,好比刪除已用d刪除的郵件,已閱讀郵件會轉存到當前用戶家目

錄下的mbox文件中。若是在mbox中刪除文件纔會完全刪除。

在linux文本命令平臺輸入 mail -f mbox,就能夠看到當前目錄下的mbox中的郵件了。

cd 改變當前所在文件夾的位置

寫信時,連按兩次Ctrl+C鍵則中斷工做,不送此信件。

讀信時,按一次Ctrl+C,退出閱讀狀態。

 

檢查所傳送的電子郵件是否送出,或滯留在郵件服務器中

語法:/usr/lib/sendmail -bp

若屏幕顯示爲「Mail queue is empty」 的信息,表示mail 已送出。

若爲其餘錯誤信息,表示電子郵件因故還沒有送出。

    & t 7        //閱讀第7封信息,閱讀時,按空格鍵就是翻頁,按回車鍵就是下移一行
    & d 10       //刪除第10封信息
    & d 10-100   //刪除第10-100封信息
    & top        //顯示當前指針所在的郵件的郵件頭
    & file       //顯示系統郵件所在的文件,以及郵件總數等信息
    & x          //退出mail命令平臺,並不保存以前的操做,好比刪除郵件
    & q          //退出mail命令平臺,保存以前的操做,好比刪除已用d刪除的郵件,已閱讀郵件會轉存到當前用戶家目錄下的mbox文件中,若是在mbox中刪除文件纔會完全刪除。

 

刪除郵件
cat /dev/null > /var/spool/mail/root
方法一:禁止系統檢查郵件
echo "unset MAILCHECK" >> /etc/profile
方法二:用logWatch轉發郵件 vim
/usr/share/logwatch/default.conf/logwatch.conf ... MailTo = yourmail@xx.com ...
1. 最簡單的一個例子:

 mail -s test admin@aispider.com

這條命令的結果是發一封標題爲test的空信給後面的郵箱,若是你有mta而且後面的郵箱不會擋這種可能莫名奇妙的信的時候,就能收到這封信了。若是你不想被這種亂七八糟的事情干擾,後面的郵箱請使用本地賬戶。 

2. 第二個例子:

 三種經常使用格式發信

mail -s test admin@aispider.com #第一種方法,你能夠把當前shell當成編輯器來用,編輯完內容後Ctrl-D結束

echo 「mail content」|mail -s test admin@aispider.com #第二種方法,我用的最多,多是喜歡管道的緣故吧

mail -s test admin@aispider.com< file #第三種方法,以file的內容爲郵件內.容發信

mail -s test  admin@aispider.com < file #第三種方法,以file的內容爲郵件內容發信

mail -s test -c admin@aispider.com  root@aispider.com< file #第四種方法,給多個用戶發送郵件
相關文章
相關標籤/搜索