命令行下發(fā)送和接收電子郵件
mail命令 是命令行的電子郵件發(fā)送和接收工具。操作的界面不像elm或pine那么容易使用,但功能非常完整。
mail(選項(xiàng))(參數(shù))
-b<地址>:指定密件副本的收信人地址;
-c<地址>:指定副本的收信人地址;
-f<郵件文件>:讀取指定郵件文件中的郵件;
-i:不顯示終端發(fā)出的信息;
-I:使用互動(dòng)模式;
-n:程序使用時(shí),不使用mail.rc文件中的設(shè)置;
-N:閱讀郵件時(shí),不顯示郵件的標(biāo)題;
-s<郵件主題>:指定郵件的主題;
-u<用戶帳號(hào)>:讀取指定用戶的郵件;
-v:執(zhí)行時(shí),顯示詳細(xì)的信息。
郵件地址:收信人的電子郵箱地址。
直接使用shell當(dāng)編輯器
mail -s "Hello from jsdig.com by shell" admin@jsdig.com
hello,this is the content of mail.
welcome to www.jsdig.com
第一行是輸入的命令,-s
表示郵件的主題,后面的admin@jsdig.com
則是郵件的接收人,輸入完這行命令后回車,會(huì)進(jìn)入郵件正文的編寫(xiě),我們可以輸入任何文字,比如上面的兩行。當(dāng)郵件正文輸入完成后,需要按 CTRL+D 結(jié)束輸入,此時(shí)會(huì)提示你輸入Cc地址,即郵件抄送地址,沒(méi)有直接回車就完成了郵件的發(fā)送。
使用管道進(jìn)行郵件發(fā)送
echo "hello,this is the content of mail.welcome to www.jsdig.com" | mail -s "Hello from jsdig.com by pipe" admin@jsdig.com
使用管道直接敲入這行命令即可完成郵件的發(fā)送,其中echo后的是郵件正文。
使用文件進(jìn)行郵件發(fā)送
mail -s "Hello from jsdig.com by file" admin@jsdig.com < mail.txt
使用上面的命令后,我們就可以把mail.txt文件的內(nèi)容作為郵件的內(nèi)容發(fā)送給admin@jsdig.com了。
使用上述三種方式都可以給外部郵箱進(jìn)行郵件發(fā)送,但因?yàn)榍懊?中都是直接在shell中敲入郵件內(nèi)容,因此無(wú)法輸入中文,即使我們使用粘貼的方式輸入了中文,那么收到的郵件也是亂碼的。但第3種方式,我們可以在window下編輯好郵件內(nèi)容后,放到linux下,再進(jìn)行發(fā)送,這樣就可以正常發(fā)送中文了。不過(guò)目前郵件的中文標(biāo)題暫時(shí)沒(méi)有找到解決辦法。
因?yàn)閙ail程序本身就是調(diào)用sendmail來(lái)進(jìn)行郵件發(fā)送的,因此我們可以在mail命令中使用sendmail的參數(shù)進(jìn)行配置,比如我想使用特定的發(fā)件人發(fā)送郵件,可以使用如下命令:
mail -s "Hello from jsdig.com with sender" admin@jsdig.com -- -f user@jsdig.com<mail.txt
上面的命令中,我們使用了– -f user@jsdig.com這樣的參數(shù),這是sendmail的選項(xiàng),其中-f表示郵件的發(fā)送人郵件地址。
很多情況下,我們也需要使用郵件來(lái)發(fā)送附件,在linux下使用mail命令發(fā)送附件也很簡(jiǎn)單,不過(guò)首先需要安裝uuencode軟件包,這個(gè)程序是對(duì)二進(jìn)制文件進(jìn)行編碼使其適合通過(guò)郵件進(jìn)行發(fā)送,在CentOS上安裝該軟件包如下:
yum install sharutils
安裝完成后我們就可以來(lái)進(jìn)行附件的發(fā)送了,使用如下命令:
uuencode test.txt test | mail -s "hello,see the attachement" admin@jsdig.com<mail.txt
完成后就可以把text.txt文件作為郵件的附件發(fā)送出去了。uuencode有兩個(gè)參數(shù),第一個(gè)是要發(fā)送的文件,第二個(gè)是顯示的文件名稱。
這里我主要介紹的是在CentOS下使用mail發(fā)送電子郵件的一些使用方法,需要的要求是你的linux必須安裝了sendmail并開(kāi)啟了,同時(shí)保證可以連接外網(wǎng)。另外,文章中提到的命令本人都經(jīng)過(guò)親自測(cè)試,保證完全可用,不過(guò)你需要將命令中的電子郵件地址換成自己的電子郵件地址。