Linux mail 命令參數

來源:互聯網
上載者:User

標籤:http   使用   os   檔案   ar   cti   工作   amp   

linux mail 命令參數:

使用mail發郵件時,必須先將sendmail服務啟動。

mail –s “郵件主題” –c”抄送地址” –b “密送地址” -- -f 發送人郵件地址 –F 寄件者姓名 < 要發送的郵件內容

 

三種常用格式發信

 

  mail -s test [email protected] #第一種方法,你可以把當前shell當成編輯器來用,編輯完內容後Ctrl-D結束

  echo “mail content”|mail -s test [email protected] #第二種方法,我用的最多,可能是喜歡管道的緣故吧

  mail -s test [email protected] < file #第三種方法,以file的內容為郵件內容發信

 

指定特定的發送人:

$ mail -s "just a test" 收信人郵箱地址 < 要發送的郵件內容檔案 -- -f 發送人郵件地址 -F 寄件者姓名

效果是: 信件內容將發送給 收信人郵箱,顯示的發送人為 發送人姓名<發送人郵件地址>,顯示的內容為 發送的郵件內容...

包含命令執行結果的MAIL發送:

echo -e `ls /tmp`|mail -s "test" [email protected] < /tmp/dd.txt -- -f [email protected] -F cc

 

i 忽略 tty 的中斷訊號。(interrupt)

I 強迫設成互動模式。(Interactive)

v 列印出訊息,例如送信的地點、狀態等等。(verbose)

n 不讀入 mail.rc 設定檔。

s 郵件標題。

c cc 抄送郵件地址。

b bcc密送郵件地址。

 

需要sendmail或postfix服務

 

如果單純的發檔案檔案可以用

cat xxxx.txt |mail -s "主旨" [email protected] [email protected]

 

如果需要發送附件需要安裝uuencode來編碼 (yum install sharutils)

 

單獨發附件,這樣[email protected]會收到一個data.txt的附件

uuencode /tmp/data_process.log  data.txt |mail [email protected]

 

如果需要本文和附件一起發:

uuencode /tmp/data_process.log  data.txt > /tmp/data_temp.txt

 

 

系統收到郵件都會儲存在“/var/spool/mail/[linux使用者名稱]”檔案中。在linux中輸入mail ,就進行了收件匣,並顯示二十封郵件清單。

 

此時命令提示字元為”&”:(可以輸入以下命令對郵件進行相關操作)

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,退出閱讀狀態。

 

使用linux mail命令發送郵件:

 

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

 

例如:

[email protected]

Subject : mail test

:

鍵入信文內容

: :

按下Ctrl+D 鍵或. 鍵結束本文。

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

Cc( Carbon copy) : 複製一份本文,給其他的收信人。

 

4、將信件送給一個或以上的電子郵件地址。

 

由於沒有加入其他的選項,使用者必須輸入標題與信件的內容等。而 user2 沒有主機位置,就會送給郵件伺服器的 user2 使用者。

mail [email protected]

mail [email protected] user2

將 mail.txt 的內容寄給 user2 同時 cc 給 user1 。如果將這一行指令設成 cronjob 就可以定時將備忘錄寄給系統使用者。

mail -s 標題 -c user1 user2 < mail.txt

 

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

文法:/usr/lib/sendmail -bp

若螢幕顯示為“Mail queue is empty” 的資訊,表示mail 已送出。

若為其他錯誤資訊,表示電子郵件因故尚未送出。

 

linux mail利用外部郵箱地址發郵件

 

bin/mail會預設使用本地sendmail發送郵件,這樣要求本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的

 

資源佔用。而通過修改設定檔可以使用外部SMTP伺服器,可以達到不使用sendmail而用外部的smtp伺服器發送郵件的目的:

 

修改/etc/nail.rc (/etc/mail.rc)

 

set [email protected] smtp=smtp.domain.comset smtp-auth-user=username smtp-auth-password=passwordset smtp-auth=login

說明:

 

from是發送的郵件地址

 

smtp是發生的外部smtp伺服器的地址

 

smtp-auth-user是外部smtp伺服器認證的使用者名稱

 

smtp-auth-password是外部smtp伺服器認證的使用者密碼

 

smtp-auth是郵件認證的方式

 

配置成功後,就可以使用了

 

可以發送一封郵件測試一下:

 

mail -s "test" [email protected] <content.txt 其中-s後面的是郵件標題,[email protected]是收件者地址,content.txt裡面是郵件內文

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.