1. 程式人生 > >linux伺服器下發送郵件

linux伺服器下發送郵件

    系統管理人員經常會遇到對於裝置或者任務的預警與通知,通常情況有傳送簡訊、郵件等方式。傳送簡訊一般來說需要有簡訊貓(硬體)或者呼叫libfetion給飛信使用者傳送。本文介紹幾種簡單的傳送郵件的方式。

本文環境:Ubuntu 10.04
基礎:
      Linux伺服器傳送郵件一般都是基於sendmail進行的,sendmail伺服器提供對外的郵件傳送功能。其他工具都是基於sendmail進行服務的。所以要在linux系統傳送郵件,首先需要安裝sendmail伺服器安裝方法:
  1. #sudo apt-get install sendmail
然後通過ps檢視是否有sendmail程序,如果存在,則安裝成功:
  1. #ps -ef|grep sendmail
  2. root 1282 1 0 13:39 ? 00:00:00 sendmail: MTA: accepting connections
成功安裝sendmail後,就可以向郵件賬戶傳送郵件了。

=====================分割線===============================

     本文列出了在linux下常用的傳送郵件的方法,供大家參考。
方法1
直接使用sendmail,編輯如下檔案a.sh,通過chmod 更改許可權後執行就可以。
  1. #!/bin/bash
  2. /usr/sbin/sendmail -t << EOF
  3. From: Mail test
  4. Sender: jkjl
  5. To: [email protected]
  6. Cc: [email protected]
  7. Subject: mail testing
  8. ----------------------------------
  9. This is the mail content ...
  10. muhaha
  11. ---------------------------------
  12. EOF
man sendmail

-t引數的含義


-t     Read message for recipients. To:, Cc:, and Bcc: lines will be

              scanned for recipient addresses. The Bcc: line will be deleted
              before transmission.

    另外,sendmail預設從標準輸入讀入內容直到結束或者遇到".",-oi 就是認為遇到"."不再認為是結束符了。如下:
echo "hahaha.my"|sendmail -oi [email protected]


方法2

利用mail工具傳送,利用mail傳送郵件必須安裝mailutils
  1. sudo apt-get install mailutils
然後傳送郵件
  1. $ mail -s "just a test" 收信人郵箱地址 < 要傳送的郵件內容檔案 
  1. mail -s "haha" [email protected] < hello.txt

mail 工具的-t 可以跟多個使用者,如下:
  1. mail -s Title -t [email protected] -t [email protected] < hello.txt

如果要傳送帶附件的郵件,則需要先安裝uuencode,uuencode 在sharutils包中
  1. sudo apt-get install sharutils
然後再發送
uuencode 附件名 顯示附件名| mail -s 題目 目的郵箱
  1. uuencode hello.txt bienvenu |mail -s Test [email protected]
如果按上面的方法,郵件只帶一個附件,即將正文和附件組成聯合檔案發出。



方法3:

利用formail和sendmail聯合傳送:
formail可以封裝郵件資訊,然後呼叫sendmail傳送,經典例子如下:
  1. echo hello|formail -I "From:[email protected]" -I "MIME-Version:1.0" -I "Content-type:text/html;charset=gb2312" -I "Subject:test"|sendmail -oi [email protected]

方法4:

使用mutt傳送
mutt是一個linux下非常好用的email程式,最典型的一個例子如下:

mutt -s "Test mail" [email protected] -a test.jpg < hello.txt
其中:s—主題  a—附件

最後追加的是
郵件內容
 mutt甚至可以使用pgp加密,利用mutt支援MIME,解決亂碼問題等,總之mutt是個人認為的最好用的email工具。

    本期知識就介紹到這裡,希望大家能有所收穫。分享一句話:要有夢想,即使它看似遙遠。