linux利用mail發送郵件
第一步檢查的mail指令是否安裝
set smtp=smtp.163.com
set smtp-auth-user=myname
set smtp-auth-password=password (用戶端授權密碼)
set smtp-auth=login
第三步163郵箱開啟smtp pop3
<a href="http://s1.51cto.com/wyfs02/M02/78/87/wKiom1Z_TlmQBhTiAADge8-9ol0460.png" target="_blank"></a>
注意:一般自己發送給自己。發送給其他賬号可能出現問題。
在Linux系統下mail指令的測試
發送郵件
1. 最簡單的一個例子:
mail -s test [email protected]
這條指令的結果是發一封标題為test的空信給後面的郵箱,如果你有mta并且後面的郵箱不會擋這種可能莫名奇妙的信的時候,就能收到這封信了。如果你不想被這種亂七八糟的事情幹擾,後面的郵箱請使用本地帳戶。
2. 第二個例子:
三種常用格式發信
mail -s test [email protected] #第一種方法,你可以把目前shell當成編輯器來用,編輯完内容後Ctrl-D結束
echo “mail content”|mail -s test [email protected] #第二種方法,我用的最多,可能是喜歡管道的緣故吧
mail -s test [email protected] < file #第三種方法,以file的内容為郵件内容發信
其實你很容易發現mail從标準輸入讀取檔案内容并發信,我也隻想讓你知道這一點,到此,第二個例子結束。
3. 第三個例子,帶附件的郵件
如果你的系統裡沒有uuencode指令的話,請先安裝sharutils(yum install sharutils)
uuencode 需要兩個參數,第一個是你要發送的檔案(們),當然這個也可以用管道來做,第二個是顯示的檔案名
uuencode /home/yfang/a.gif a.gif|mail -s pictest [email protected]
tar czf - /home/yfang/ | uuencode home.tgz |mail -s pictest [email protected]
ps: 順便補一句,slackware下的mail好像有一個-a參數,可以直接添加附件,我沒有用過。
檢查郵件是否發送成功
檢查所傳送的電子郵件是否送出,或滞留在郵件伺服器中
文法:/usr/lib/sendmail -bp
若螢幕顯示為“Mail queue is empty” 的資訊,表示mail 已送出。
若為其他錯誤資訊,表示電子郵件因故尚未送出。
補充:
linux mail 指令參數:
i 忽略 tty 的中斷訊号。 (interrupt)
I 強迫設成互動模式。 (Interactive)
v 列印出訊息,例如送信的地點、狀态等等。 (verbose)
n 不讀入 mail.rc 設定檔。
s 郵件标題。
c cc 郵件位址。
b bcc 郵件位址。
系統收到郵件都會儲存在“/var/spool/mail/[linux使用者名]”檔案中。在linux中輸入mail ,就進行了收件箱,并顯示二十封郵件清單。
此時指令提示符為”&”:(可以輸入以下指令對郵件進行相關操作)
& help //如果不會使用或者忘記了什麼指令,就輸入 help 或者 ? 來擷取幫助
Mail Commands
t 列印出資訊 【注意】多個資訊用空格分開,如 t 1 7
n 列印出下一條資訊
e 編輯資訊
f 輸出資訊的頭行
d 删除資訊
s file 追加資訊到檔案file
u 不删除某資訊
R 回複發件人
r 回複發件人和本資訊所有的收件人
pre 保留資訊在 /usr/spool/mail 1*
m 發郵件,多個收件人用空格分開【需要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
本文轉自 吃草的青蛙 51CTO部落格,原文連結:http://blog.51cto.com/tlinux/1728721,如需轉載請自行聯系原作者