Linux下使用mail命令傳送郵件

2021-09-01 16:48:33 字數 2063 閱讀 1846

因為需要經常備份**的資料,所以了解並學習了下linux下如何通過shell來傳送郵件,這裡以centos為例,使用mail命令來進行外部郵件的傳送。mail命令的語法如下:

usage: mail [-iinv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...

[-- sendmail-options ...]

mail [-iinnv] -f [name]

mail [-iinnv] [-u user]

用mail命令傳送郵件,有如下三種方式:

1、直接使用shell當編輯器

mail -s "hello from mzone.cc by shell" [email protected]

hello,this is the content of mail.

welcome to www.mzone.cc

第一行是輸入的命令,-s表示郵件的主題,後面的[email protected]則是郵件的接收人,輸入完這行命令後回車,會進入郵件正文的編寫,我們可以輸入任何文字,比如上面的兩行。當郵件正文輸入完成後,需要按ctrl+d結束輸入,此時會提示你輸入cc位址,即郵件抄送位址,沒有直接回車就完成了郵件的傳送。

2、使用管道進行郵件傳送

echo "hello,this is the content of mail.welcome to www.mzone.cc" | mail -s "hello from mzone.cc by pipe" [email protected]

使用管道直接敲入這行命令即可完成郵件的傳送,其中echo後的是郵件正文。

3、使用檔案進行郵件傳送

mail -s "hello from mzone.cc by file" [email protected] < mail.txt

使用上面的命令後,我們就可以把mail.txt檔案的內容作為郵件的內容傳送給[email protected]了。

使用上述三種方式都可以給外部郵箱進行郵件傳送,但因為前面2中都是直接在shell中敲入郵件內容,因此無法輸入中文,即使我們使用貼上的方式輸入了中文,那麼收到的郵件也是亂碼的。但第3種方式,我們可以在window下編輯好郵件內容後,放到linux下,再進行傳送,這樣就可以正常傳送中文了。不過目前郵件的中文標題暫時沒有找到解決辦法。

因為mail程式本身就是呼叫sendmail來進行郵件傳送的,因此我們可以在mail命令中使用sendmail的引數進行配置,比如我想使用特定的發件人傳送郵件,可以使用如下命令:

mail -s "hello from mzone.cc with sender" [email protected] -- -f [email protected]上面的命令中,我們使用了– -f [email protected]這樣的引數,這是sendmail的選項,其中-f表示郵件的傳送人郵件位址。更多sendmail引數請檢視這裡或者在shell中man sendmail進行幫助獲取。

很多情況下,我們也需要使用郵件來傳送附件,在linux下使用mail命令傳送附件也很簡單,不過首先需要安裝uuencode軟體包,這個程式是對二進位制檔案進行編碼使其適合通過郵件進行傳送,在centos上安裝該軟體包如下:

yum install sharutils

安裝完成後我們就可以來進行附件的傳送了,使用如下命令:

uuencode test.txt test | mail -s "hello,see the attachement" [email protected]完成後就可以把text.txt檔案作為郵件的附件傳送出去了。uuencode有兩個引數,第乙個是要傳送的檔案,第二個是顯示的檔名稱。

這裡我主要介紹的是在centos下使用mail傳送電子郵件的一些使用方法,需要的要求是你的linux必須安裝了sendmail並開啟了,同時保證可以連線外網。另外,文章中提到的命令本人都經過親自測試,保證完全可用,不過你需要將命令中的電子郵件位址換成自己的電子郵件位址。

有了這個mail命令,我們在linux下操作又多了一把利器了,perfect ^_^

Linux下mail命令使用總結

檢視一下mail命令的幫助 man mail mail iinv s subject c cc addr b bcc addr to addr.sendmail options.引數說明 1 s subject 指定要傳送郵件的主題 2 c recient 抄送 3 b recipients 秘密抄...

Linux系統下mail命令使用

1.檢視mail的幫助資訊 root local mail h mail invalid option h usage mail iinv s subject c cc addr b bcc addr to addr sendmail options mail iinnv f name mail i...

Linux下使用mail命令發郵件

最近想通過shell指令碼監控系統狀況並自動報警,一般linux傳送報警郵件通過本地郵箱或外部郵箱伺服器。這裡需註冊國內的郵件服務商郵箱,也可以使用公司郵箱,我們公司是網易企業郵箱,所以這個文件就以163郵箱為例。需要安裝mailx工具,mailx是乙個小型的郵件傳送程式。具體步驟如下 1 安裝 y...