国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Shell發送郵件以HTML展示

roadtogeek / 2960人閱讀

摘要:有時候,監控一個系統需要在系統出現警告時通過發送郵件來通知相關的負責人。一種是普通郵件,通過附件描述詳細報告一種是高級郵件哈哈,本來就是告警,還不趕快看,還要慢慢下載附件打開看所以將附件內容以直接展示到正文處,并通過樣式標記警告。

有時候,監控一個系統需要在系統出現警告時通過shell發送郵件來通知相關的負責人。本文講講如何shell發送郵件。
一種是普通郵件,通過附件描述詳細報告;一種是高級郵件(哈哈),本來就是告警,還不趕快看,還要慢慢下載附件打開看?所以將附件內容以HTML直接展示到正文處,并通過樣式標記警告。

1.安裝sendEmail工具
下載、解壓、配置環境變量

]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
]# tar -zxf sendEmail-v1.56.tar.gz -C SendEmail/
#配置環境變量這里不一樣,不在profile文件里配置,而是拷貝到系統環境變量已有的路徑中
]# cd ~/myApp/SendEmail/
]# cp sendEmail /usr/local/bin/

2.開啟郵箱的SMTP
本文使用QQ郵件作為發送者
設置 -> 賬戶 -> 下圖中開啟

3.發送郵件
QQ郵箱對SMTP有如下說明:

#!/bin/bash

RECIVER="Wish0123@163.com"
SENDER="964478654@qq.com"
SENDER_USERNAME=964478654
#密碼填寫SMTP第三方客戶端授權碼
SENDER_PASSWD=***********
ATTACHMENT_PATH=/root/workspace/sh/attach_test.txt
#如下圖描述,作為郵件發送方應填這個hostname
STMP_HOST=smtp.qq.com

MESSAGEL_SUBJECT="Have Fun"
MESSAGE_BODY="報警啊..."

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

發送后報錯了:

*******************************************************************
 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版本不對,原因是在cent7中Perl的版本5.16,而應該使用更低版本。或者不用SSL,也就需要在腳本最后一行的sendEmail命令添加一個參數-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

發送成功了!

我擦,居然被當成詐騙釣魚郵件。。


4.HTML版
郵箱直接展示html需要兩個條件:
一是把要展示的數據使用html標簽封裝起來,就可以隨意增加樣式了;
二是在sendEmail增加參數-o message-content-type=html
這里是根據系統內存情況發送系統郵件,當集群中機器的使用內存超過總內存80%的機器信息標紅。

[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

編寫腳本

#!/bin/bash -x

RECIVER="Wish0123@163.com"
SENDER="964478654@qq.com"
SENDER_USERNAME=964478654
#密碼填寫SMTP第三方客戶端授權碼
SENDER_PASSWD=xuxjxankheuubcjd
STMP_HOST=smtp.qq.com

MESSAGEL_SUBJECT="Have Fun"
HTML_PATH=html_path
echo "">$HTML_PATH
echo "">>$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=""
                #shell不能直接作小數運算
                #更簡單的運算寫法是$[$m + 5]
                if [ $(expr $m * 5) -gt $(expr $t * 4) ]; then
                        tr=""
                fi
                echo $tr>>$HTML_PATH
                echo "">>$HTML_PATH
                echo "">>$HTML_PATH
                echo "">>$HTML_PATH
                echo "">>$HTML_PATH
                echo "">>$HTML_PATH
                let "i++"
        done

}
create_tr

echo "">>$HTML_PATH
echo "
ipconsumfreetotal
"$ip""$m""$f""$t"
">>$HTML_PATH MESSAGE_BODY=$(cat $HTML_PATH) sendEmail -f $SENDER -t $RECIVER -a $ATTACHMENT_PATH -s $STMP_HOST -xu $SENDER_USERNAME -xp $SENDER_PASSWD -u $MESSAGEL_SUBJECT -m $MESSAGE_BODY -o tls=no message-charset=utf-8 message-content-type=html

發送成功!

好玩吧~

參考文章:
https://blog.csdn.net/leshami...
https://my.oschina.net/u/4005...
https://blog.csdn.net/wz94732...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/54883.html

相關文章

  • Shell發送郵件HTML展示

    摘要:有時候,監控一個系統需要在系統出現警告時通過發送郵件來通知相關的負責人。一種是普通郵件,通過附件描述詳細報告一種是高級郵件哈哈,本來就是告警,還不趕快看,還要慢慢下載附件打開看所以將附件內容以直接展示到正文處,并通過樣式標記警告。 有時候,監控一個系統需要在系統出現警告時通過shell發送郵件來通知相關的負責人。本文講講如何shell發送郵件。一種是普通郵件,通過附件描述詳細報告;一種...

    phodal 評論0 收藏0
  • Flask Web Development —— Email

    摘要:函數攜帶目的地址主題郵件體模板和一組關鍵字參數。許多擴展操作是在假設有活動的應用程序和請求上下文的情況下進行的。但是當函數在一個不同的線程上執行,應用程序上下文需要人為地創建使用。例如,執行函數可以將郵件發送到的任務隊列中。 許多類型的應用程序都會在某些事件發生的時候通知用戶,常用的溝通方法就是電子郵件。盡管在Flask應用程序中,可以使用Python標準庫中的smtplib包來發送電...

    SKYZACK 評論0 收藏0
  • 自動化云事件管理

    摘要:我們將通過兩個示例來學習如何創建一個事件自動化計劃,該計劃可使用自動化管理器來執行預先定義的任務,以響應特定警報。自動化管理器提供一個功能強大的通用基礎架構,以便自動監控和響應中的事件和警報。 本文作者:Ansuman Padhy, 高級軟件工程師, IBM??????????????? Ashish Billore, 云系統軟件開發人員, IBM ??????????????? Pi...

    姘擱『 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<