系統管理人員經常會遇到對於裝置或者任務的預警與通知,通常情況有傳送簡訊、郵件等方式。傳送簡訊一般來說需要有簡訊貓(硬體)或者呼叫libfetion給飛信使用者傳送。本文介紹幾種簡單的傳送郵件的方式。
本文環境:ubuntu 10.04
基礎:linux伺服器傳送郵件一般都是基於sendmail進行的,sendmail伺服器提供對外的郵件傳送功能。其他工具都是基於sendmail進行服務的。所以要在linux系統傳送郵件,首先需要安裝sendmail伺服器安裝方法:
#sudo apt-get install sendmail
然後通過ps檢視是否有sendmail程序,如果存在,則安裝成功:
#ps -ef|grep sendmail
root 1282 1 0 13:39 ? 00:00:00 sendmail: mta: accepting connections
方法1:直接使用sendmail,編輯如下檔案a.sh,通過chmod 更改許可權後執行就可以。
#!/bin/bash
/usr/sbin/sendmail -t << eof
from: mail test
sender: jkjl
subject: mail testing
----------------------------------
this is the mail content ...
muhaha
---------------------------------
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
sudo apt-get install mailutils
然後傳送郵件
$ mail -s "just a test" 收信人郵箱位址 < 要傳送的郵件內容檔案
mail -s "haha" [email protected] < hello.txt
mail 工具的-t 可以跟多個使用者,如下:
mail -s title -t [email protected] -t [email protected] < hello.txt
如果要傳送帶附件的郵件,則需要先安裝uuencode,uuencode 在sharutils包中
sudo apt-get install sharutils
然後再傳送
uuencode 附件名 顯示附件名| mail -s 題目 目的郵箱
uuencode hello.txt bienvenu |mail -s test [email protected]
如果按上面的方法,郵件只帶乙個附件,即將正文和附件組成聯合檔案發出。
方法3:
利用formail和sendmail聯合傳送:
formail可以封裝郵件資訊,然後呼叫sendmail傳送,經典例子如下:
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程式,最典型的乙個例子如下:
其中:s—主題 a—附件
最後追加的是郵件內容
mutt甚至可以使用pgp加密,利用mutt支援mime,解決亂碼問題等,總之mutt是個人認為的最好用的email工具。
本期知識就介紹到這裡,希望大家能有所收穫。分享一句話:要有夢想,即使它看似遙遠。
linux伺服器下傳送郵件
系統管理人員經常會遇到對於裝置或者任務的預警與通知,通常情況有傳送簡訊 郵件等方式。傳送簡訊一般來說需要有簡訊貓 硬體 或者呼叫libfetion給飛信使用者傳送。本文介紹幾種簡單的傳送郵件的方式。本文環境 ubuntu 10.04 基礎 linux伺服器傳送郵件一般都是基於sendmail進行的,...
Linux伺服器django傳送郵件
一 在settings.py檔案裡新增配置。python傳送郵件的埠25和465都可以,但是如果是阿里雲伺服器,埠25可能不能使用。建議使用埠465傳送郵件 傳送郵件設定 email backend django.core.mail.backends.smtp.emailbackend email ...
linux環境下傳送stmp郵件失敗
1 js端呼叫php介面,介面狀態200,排除介面訪問不通問題2 呼叫介面成功,列印phpmail類成功,排除linux區分大小寫未找到類問題3 php openssl拓展和soket拓展已經開啟,排除拓展問題4 linux環境中是否可以ping通baidu.com5 列印mail類報錯的方法 re...