標籤: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裡面是郵件內文