linux mail命令用法


在Linux系統下mail命令的測試

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 #第四種方法,給多個用戶發送郵件

 

 3. 第三個例子,帶附件的郵件

 如果你的系統里沒有uuencode命令的話,請先安裝sharutils(yum install  -y sharutils)

 uuencode 需要兩個參數,第一個是你要發送的文件(們),當然這個也可以用管道來做,第二個是顯示的文件名

 uuencode /home/yfang/a.gif a.gif|mail -s pictest admin@aispider.com

tar czf - /home/yfang/ | uuencode home.tgz |mail -s pictest admin@aispider.com

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 ....

例如:
mailtest@hotmail.com
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 用戶。要將消息發送到通過網絡連接到您的系統的另一個系統上的用戶,您必須知道那個人的登錄標識和另一個系統的名稱。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM