摘要:有時(shí)候,監(jiān)控一個(gè)系統(tǒng)需要在系統(tǒng)出現(xiàn)警告時(shí)通過(guò)發(fā)送郵件來(lái)通知相關(guān)的負(fù)責(zé)人。一種是普通郵件,通過(guò)附件描述詳細(xì)報(bào)告一種是高級(jí)郵件哈哈,本來(lái)就是告警,還不趕快看,還要慢慢下載附件打開(kāi)看所以將附件內(nèi)容以直接展示到正文處,并通過(guò)樣式標(biāo)記警告。
有時(shí)候,監(jiān)控一個(gè)系統(tǒng)需要在系統(tǒng)出現(xiàn)警告時(shí)通過(guò)shell發(fā)送郵件來(lái)通知相關(guān)的負(fù)責(zé)人。本文講講如何shell發(fā)送郵件。
一種是普通郵件,通過(guò)附件描述詳細(xì)報(bào)告;一種是高級(jí)郵件(哈哈),本來(lái)就是告警,還不趕快看,還要慢慢下載附件打開(kāi)看?所以將附件內(nèi)容以HTML直接展示到正文處,并通過(guò)樣式標(biāo)記警告。
1.安裝sendEmail工具
下載、解壓、配置環(huán)境變量
]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz ]# tar -zxf sendEmail-v1.56.tar.gz -C SendEmail/ #配置環(huán)境變量這里不一樣,不在profile文件里配置,而是拷貝到系統(tǒng)環(huán)境變量已有的路徑中 ]# cd ~/myApp/SendEmail/ ]# cp sendEmail /usr/local/bin/
2.開(kāi)啟郵箱的SMTP
本文使用QQ郵件作為發(fā)送者
設(shè)置 -> 賬戶 -> 下圖中開(kāi)啟
3.發(fā)送郵件
QQ郵箱對(duì)SMTP有如下說(shuō)明:
#!/bin/bash RECIVER="Wish0123@163.com" SENDER="964478654@qq.com" SENDER_USERNAME=964478654 #密碼填寫(xiě)SMTP第三方客戶端授權(quán)碼 SENDER_PASSWD=*********** ATTACHMENT_PATH=/root/workspace/sh/attach_test.txt #如下圖描述,作為郵件發(fā)送方應(yīng)填這個(gè)hostname STMP_HOST=smtp.qq.com MESSAGEL_SUBJECT="Have Fun" MESSAGE_BODY="報(bào)警啊..." sendEmail -f $SENDER -t $RECIVER -a $ATTACHMENT_PATH -s $STMP_HOST -xu $SENDER_USERNAME -xp $SENDER_PASSWD -u $MESSAGEL_SUBJECT -m $MESSAGE_BODY -o message-charset=utf-8
發(fā)送后報(bào)錯(cuò)了:
******************************************************************* Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER possibly with SSL_ca_file|SSL_ca_path for verification. If you really don"t want to verify the certificate and keep the connection open to Man-In-The-Middle attacks please set SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application. ******************************************************************* at /usr/local/bin/sendEmail line 1906. invalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 444.
意思是SSL版本不對(duì),原因是在cent7中Perl的版本5.16,而應(yīng)該使用更低版本。或者不用SSL,也就需要在腳本最后一行的sendEmail命令添加一個(gè)參數(shù)-o tls=no
sendEmail -f $SENDER -t $RECIVER -a $ATTACHMENT_PATH -s $STMP_HOST -xu $SENDER_USERNAME -xp $SENDER_PASSWD -u $MESSAGEL_SUBJECT -m $MESSAGE_BODY -o message-charset=utf-8 -o tls=no
發(fā)送成功了!
我擦,居然被當(dāng)成詐騙釣魚(yú)郵件。。
4.HTML版
郵箱直接展示html需要兩個(gè)條件:
一是把要展示的數(shù)據(jù)使用html標(biāo)簽封裝起來(lái),就可以隨意增加樣式了;
二是在sendEmail增加參數(shù)-o message-content-type=html
這里是根據(jù)系統(tǒng)內(nèi)存情況發(fā)送系統(tǒng)郵件,當(dāng)集群中機(jī)器的使用內(nèi)存超過(guò)總內(nèi)存80%的機(jī)器信息標(biāo)紅。
[root@NN1 sh]# cat memory_info ip consum free total 192.168.1.10 100 100 200 192.168.1.11 1 239 240 192.168.1.12 350 50 400 192.168.1.13 40 24 64 192.168.1.14 77 33 110 192.168.1.15 150 250 400
編寫(xiě)腳本
#!/bin/bash -x RECIVER="Wish0123@163.com" SENDER="964478654@qq.com" SENDER_USERNAME=964478654 #密碼填寫(xiě)SMTP第三方客戶端授權(quán)碼 SENDER_PASSWD=xuxjxankheuubcjd STMP_HOST=smtp.qq.com MESSAGEL_SUBJECT="Have Fun" HTML_PATH=html_path echo "
ip | consum | free | total | ">>$HTML_PATH echo "">>$HTML_PATH create_tr() { i=2 lines=$(cat memory_info | wc -l) while [ $i -le $lines ] do j=1 ip=$(awk "NR==i {print $j}" i=$i j=$j memory_info) let "j++" m=$(awk "NR==i {print $j}" i=$i j=$j memory_info) let "j++" f=$(awk "NR==i {print $j}" i=$i j=$j memory_info) let "j++" t=$(awk "NR==i {print $j}" i=$i j=$j memory_info) tr="
---|---|---|---|
"$ip" | ">>$HTML_PATH echo ""$m" | ">>$HTML_PATH echo ""$f" | ">>$HTML_PATH echo ""$t" | ">>$HTML_PATH echo "
發(fā)送成功!
好玩吧~
參考文章:
https://blog.csdn.net/leshami...
https://my.oschina.net/u/4005...
https://blog.csdn.net/wz94732...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/25091.html
摘要:有時(shí)候,監(jiān)控一個(gè)系統(tǒng)需要在系統(tǒng)出現(xiàn)警告時(shí)通過(guò)發(fā)送郵件來(lái)通知相關(guān)的負(fù)責(zé)人。一種是普通郵件,通過(guò)附件描述詳細(xì)報(bào)告一種是高級(jí)郵件哈哈,本來(lái)就是告警,還不趕快看,還要慢慢下載附件打開(kāi)看所以將附件內(nèi)容以直接展示到正文處,并通過(guò)樣式標(biāo)記警告。 有時(shí)候,監(jiān)控一個(gè)系統(tǒng)需要在系統(tǒng)出現(xiàn)警告時(shí)通過(guò)shell發(fā)送郵件來(lái)通知相關(guān)的負(fù)責(zé)人。本文講講如何shell發(fā)送郵件。一種是普通郵件,通過(guò)附件描述詳細(xì)報(bào)告;一種...
摘要:函數(shù)攜帶目的地址主題郵件體模板和一組關(guān)鍵字參數(shù)。許多擴(kuò)展操作是在假設(shè)有活動(dòng)的應(yīng)用程序和請(qǐng)求上下文的情況下進(jìn)行的。但是當(dāng)函數(shù)在一個(gè)不同的線程上執(zhí)行,應(yīng)用程序上下文需要人為地創(chuàng)建使用。例如,執(zhí)行函數(shù)可以將郵件發(fā)送到的任務(wù)隊(duì)列中。 許多類型的應(yīng)用程序都會(huì)在某些事件發(fā)生的時(shí)候通知用戶,常用的溝通方法就是電子郵件。盡管在Flask應(yīng)用程序中,可以使用Python標(biāo)準(zhǔn)庫(kù)中的smtplib包來(lái)發(fā)送電...
摘要:我們將通過(guò)兩個(gè)示例來(lái)學(xué)習(xí)如何創(chuàng)建一個(gè)事件自動(dòng)化計(jì)劃,該計(jì)劃可使用自動(dòng)化管理器來(lái)執(zhí)行預(yù)先定義的任務(wù),以響應(yīng)特定警報(bào)。自動(dòng)化管理器提供一個(gè)功能強(qiáng)大的通用基礎(chǔ)架構(gòu),以便自動(dòng)監(jiān)控和響應(yīng)中的事件和警報(bào)。 本文作者:Ansuman Padhy, 高級(jí)軟件工程師, IBM??????????????? Ashish Billore, 云系統(tǒng)軟件開(kāi)發(fā)人員, IBM ??????????????? Pi...
閱讀 3618·2021-11-24 10:25
閱讀 2539·2021-11-24 09:38
閱讀 1230·2021-09-08 10:41
閱讀 2914·2021-09-01 10:42
閱讀 2586·2021-07-25 21:37
閱讀 1991·2019-08-30 15:56
閱讀 922·2019-08-30 15:55
閱讀 2759·2019-08-30 15:54