最近在研究sendmail服務發送郵件的問題,暫時未作任何配置,僅能發送郵件,不能接收,須要後續修改配置。暫時討論mail發送郵件功能,該功能在CentOs、SUSE和Ubuntu下都測試過。html
mail命令的語法以下:linux
-
Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
-
[-- sendmail-options ...]
-
mail [-iInNv] -f [name]
-
mail [-iInNv] [-u user]
mail命令是命令行的電子郵件發送和接收工具。操做的界面不像elm或pine那麼容易使用,但功能很是完整。語法mail(選項)(參數)選項-b<地址>:指定密件副本的收信人地址;-c<地址>:指定副本的收信人地址;-f<郵件文件>:讀取指定郵件文件中的郵件;-i:不顯示終端發出的信息;-I:使用互動模式;-n:程序使用時,不使用mail.rc文件中的設置;-N:閱讀郵件時,不顯示郵件的標題;-s<郵件主題>:指定郵件的主題;-u<用戶賬號>:讀取指定用戶的郵件;-v:執行時,顯示詳細的信息。
來自:
http://man.linuxde.net/mail
mail命令是命令行的電子郵件發送和接收工具。操做的界面不像elm或pine那麼容易使用,但功能很是完整。語法mail(選項)(參數)選項-b<地址>:指定密件副本的收信人地址;-c<地址>:指定副本的收信人地址;-f<郵件文件>:讀取指定郵件文件中的郵件;-i:不顯示終端發出的信息;-I:使用互動模式;-n:程序使用時,不使用mail.rc文件中的設置;-N:閱讀郵件時,不顯示郵件的標題;-s<郵件主題>:指定郵件的主題;-u<用戶賬號>:讀取指定用戶的郵件;-v:執行時,顯示詳細的信息。
來自:
http://man.linuxde.net/mail
mail命令是命令行的電子郵件發送和接收工具。操做的界面不像elm或pine那麼容易使用,但功能很是完整。語法mail(選項)(參數)選項-b<地址>:指定密件副本的收信人地址;-c<地址>:指定副本的收信人地址;-f<郵件文件>:讀取指定郵件文件中的郵件;-i:不顯示終端發出的信息;-I:使用互動模式;-n:程序使用時,不使用mail.rc文件中的設置;-N:閱讀郵件時,不顯示郵件的標題;-s<郵件主題>:指定郵件的主題;-u<用戶賬號>:讀取指定用戶的郵件;-v:執行時,顯示詳細的信息。
來自:
http://man.linuxde.net/mail
-b<地址>:指定密件副本的收信人地址;shell
-c<地址>:指定副本的收信人地址; bash
-f<郵件文件>:讀取指定郵件文件中的郵件;編輯器
-i:不顯示終端發出的信息; 工具
-I:使用互動模式;測試
-n:程序使用時,不使用mail.rc文件中的設置;this
-N:閱讀郵件時,不顯示郵件的標題;編碼
-s<郵件主題>:指定郵件的主題;.net
-u<用戶賬號>:讀取指定用戶的郵件;
-v:執行時,顯示詳細的信息。
使用mail命令發送郵件,有以下三種方式:
一、直接使用shell當編輯器
-
mail -s "Hello from public.gift by shell" sky101010ws@gmail.com
-
hello,this is the content of mail.
-
welcome to public.gift
第一行是輸入的命令,-s表示郵件的主題,後面的sky101010ws@gmail.com則是郵件的接收人,輸入完這行命令後回車,會進入郵件正文的編寫,咱們能夠輸入任何文字,好比上面的兩行。當郵件正文輸入完成後,須要按CTRL+D結束輸入,此時會提示你輸入Cc地址,即郵件抄送地址,沒有直接回車就完成了郵件的發送。
二、使用管道進行郵件發送
-
echo "hello,this is the content of mail.welcome to public.gift" | mail -s "Hello frompublic.gift by pipe" sky101010ws@gmail.com
使用管道直接敲入這行命令便可完成郵件的發送,其中echo後的是郵件正文。
三、使用文件進行郵件發送
-
mail -s "Hello from public.gift by file" sky101010ws@gmail.com < mail.txt
使用上面的命令後,咱們就能夠把mail.txt文件的內容做爲郵件的內容發送給sky101010ws@gmail.com了。
使用上述三種方式均可以給外部郵箱進行郵件發送,但由於前面2中都是直接在shell中敲入郵件內容,所以沒法輸入中文,即便咱們使用粘貼的方式輸入了中文,那麼收到的郵件也是亂碼的。但第3種方式,咱們能夠在window下編輯好郵件內容後,放到linux下,再進行發送,這樣就能夠正常發送中文了。不過目前郵件的中文標題暫時沒有找到解決辦法。
由於mail程序自己就是調用sendmail來進行郵件發送的,所以咱們能夠在mail命令中使用sendmail的參數進行配置,好比我想使用特定的發件人發送郵件,可使用以下命令:
-
mail -s "Hello from public.gift with sender" sky101010ws@gmail.com -- -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上安裝該軟件包以下:
安裝完成後咱們就能夠來進行附件的發送了,使用以下命令:
-
uuencode test.txt test | mail -s "hello,see the attachement" sky101010ws@gmail.com<mail.txt
完成後就能夠把text.txt文件做爲郵件的附件發送出去了。uuencode有兩個參數,第一個是要發送的文件,第二個是顯示的文件名稱。
--------------------- 本文來自 龍行天下之Sky 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/sky101010ws/article/details/52893298?utm_source=copy