Linux下使用mail命令發送郵件

      由於須要常常備份網站的數據,因此瞭解並學習了下linux下如何經過shell來發送郵件,這裏以CentOS爲例,使用mail命令來進行外部郵件的發送。mail命令的語法以下:html

   
  1. Usage: mail [-iInv ] [-s subject ] [-c cc-addr ] [-b bcc-addr ] to-addr ...
  2. [-- sendmail-options ... ]
  3. mail [-iInNv ] -f [name ]
  4. mail [-iInNv ] [-u user ]

      使用mail命令發送郵件,有以下三種方式:linux

一、直接使用shell當編輯器

   
  1. mail -s "Hello from mzone.cc by shell" admin @mzone.cc
  2. hello,this is the content of mail.
  3. welcome to www.mzone.cc

      第一行是輸入的命令,-s表示郵件的主題,後面的admin@mzone.cc則是郵件的接收人,輸入完這行命令後回車,會進入郵件正文的編寫,咱們能夠輸入任何文字,好比上面的兩行。當郵件正文輸入完成後,須要按CTRL+D結束輸入,此時會提示你輸入Cc地址,即郵件抄送地址,沒有直接回車就完成了郵件的發送。shell

二、使用管道進行郵件發送

   
  1. echo "hello,this is the content of mail.welcome to www.mzone.cc" | mail -s "Hello from mzone.cc by pipe" admin @mzone.cc

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

三、使用文件進行郵件發送

   
  1. mail -s "Hello from mzone.cc by file" admin @mzone.cc < mail.txt

      使用上面的命令後,咱們就能夠把mail.txt文件的內容做爲郵件的內容發送給admin@mzone.cc了。編輯器

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

      由於mail程序自己就是調用sendmail來進行郵件發送的,所以咱們能夠在mail命令中使用sendmail的參數進行配置,好比我想使用特定的發件人發送郵件,可使用以下命令:測試

   
  1. mail -s "Hello from mzone.cc with sender" admin @mzone.cc -- -f user @mzone.cc <mail.txt

      上面的命令中,咱們使用了– -f user@mzone.cc這樣的參數,這是sendmail的選項,其中-f表示郵件的發送人郵件地址。更多sendmail參數請查看這裏http://www.courier-mta.org/sendmail.html,或者在shell中man sendmail進行幫助獲取。網站

      不少狀況下,咱們也須要使用郵件來發送附件,在linux下使用mail命令發送附件也很簡單,不過首先須要安裝uuencode軟件包,這個程序是對二進制文件進行編碼使其適合經過郵件進行發送,在CentOS上安裝該軟件包以下:this

   
  1. yum install sharutils

      安裝完成後咱們就能夠來進行附件的發送了,使用以下命令:編碼

   
  1. uuencode test.txt test | mail -s "hello,see the attachement" admin @mzone.cc <mail.txt

      完成後就能夠把text.txt文件做爲郵件的附件發送出去了。uuencode有兩個參數,第一個是要發送的文件,第二個是顯示的文件名稱。

      這裏我主要介紹的是在CentOS下使用mail發送電子郵件的一些使用方法,須要的要求是你的linux必須安裝了sendmail並開啓了,同時保證能夠鏈接外網。另外,文章中提到的命令本人都通過親自測試,保證徹底可用,不過你須要將命令中的電子郵件地址換成本身的電子郵件地址。

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

相關文章
相關標籤/搜索