shell之傳送html格式郵件

2021-09-18 04:36:21 字數 4109 閱讀 9091

4.傳送帶html**的郵件

4.4郵件截圖如下

本人多次嘗試使用mail傳送html格式的郵件,但是顯示的還是文字,失敗。最終使用了sendemail客戶端傳送帶**的郵件,首先配置qq郵箱開啟smtp服務

流程如下圖:設定-》賬戶

開啟smtp服務-》生辰授權碼

#建立目錄

mkdir -p /usr/local/bin

#解壓tar zxf sendemail-v1.56.tar.gz -c /usr/src/

#進入解壓目錄

cd /usr/src/sendemail-v1.56/

#複製程式到指定目錄

cp -a sendemail /usr/local/bin/

#給執行許可權

chmod +x /usr/local/bin/sendemail

#安裝元件

yum install perl-net-ssleay perl-io-socket-ssl -y

3.1sendemail命令詳解

# -f [email protected]                    # 發件人郵箱位址

# -t [email protected] # 收件人郵箱位址

# -s smtp.163.com # 發件人郵箱的smtp伺服器位址

# -u 'test' # 郵件標題

# -o message-content-type=html # 郵件內容格式為html

# -o message-charset=utf8 # 郵件內容編碼為utf8

# -xu [email protected] # 發件人郵箱登入使用者名稱

# -xp 'passwd' # 發件人郵箱登入密碼

# -m 'test' # 郵件內容

3.2編寫test.sh指令碼如下
#!/bin/bash

#收件箱

email_reciver="571***[email protected]"

#傳送者郵箱

email_sender=5713***[email protected]

#郵箱使用者名稱

email_username=571325512

#郵箱密碼

email_password=lait***owbcei

#附件路徑

file1_path="/root/wsktest/2.png"

#smtp伺服器位址

email_smtphost=smtp.qq.com

email_title="測試"

email_content="你好!"

sendemail -f $ -t $ -s $ -u $ -xu $ -xp $ -m $ -a $ -o message-charset=utf-8

3.3執行指令碼 sh test.sh

4.1**資料

第一列為表名稱,第二列為原mysql表資料總量,第三列為數倉hbase的資料總量,目的是將table_counts.txt中的資料以**的顯示郵件發出,若表的資料不一致當前行以紅色標出。

[root@hadoop001 wsktest]# cat table_counts.txt 

table_name_1,10000,10000

table_name_2,12000,12000

table_name_3,90000,90002

table_name_4,550,550

table_name_5,8000,7999

table_name_6,30000,30000

4.2指令碼如下
#!/bin/bash

#收件箱

email_reciver="57***[email protected]"

#傳送者郵箱

email_sender=5713***[email protected]

#郵箱使用者名稱

email_username=5713***2

#郵箱密碼

email_password=laitzphkinowbcei

file1_path="/root/wsktest/2.png"

#smtp伺服器位址

email_smtphost=smtp.qq.com

email_title="測試"

html_input()

html_input_red()

set_info()' /root/wsktest/table_counts.txt) #表計數集合

for tablename in $table_counts

doj=2

html_sour_count=$(awk -f "," 'nr==i ' i=$i j=$j /root/wsktest/table_counts.txt) #mysql中對應的計數

let "j++"

html_tar_count=$(awk -f "," 'nr==i ' i=$i j=$j /root/wsktest/table_counts.txt) #數倉中對應的計數

if [ "$html_sour_count" == "$html_tar_count" ];then

html_input $tablename $html_sour_count $html_tar_count #構造每行**資訊

else

html_input_red $tablename $html_sour_count $html_tar_count #構造每行**資訊

filet "i++"

echo $tablename $html_sour_count $html_tar_count $i $j

done

echo "" >> /root/wsktest/mail.html

} # 製作mail.html,並使用郵件傳送

set_info

email_excel=$(cat /root/wsktest/mail.html)

sendemail -f $ -t $ -s $ -u $ -xu $ -xp $ -m $ $ -a $ -o message-charset=utf-8 -o message-content-type=html

4.3執行指令碼
[root@hadoop001 wsktest]# sh test2.sh 

table_name_1 10000 10000 2 3

table_name_2 12000 12000 3 3

table_name_3 90000 90002 4 3

table_name_4 550 550 5 3

table_name_5 8000 7999 6 3

table_name_6 30000 30000 7 3

apr 13 18:31:31 hadoop001 sendemail[14481]: email was sent successfully!

4.4郵件截圖如下

Springboot傳送美觀的HTML郵件

上篇文章我們知道了如何利用springboot傳送乙個基本的html郵件,現在問題來了不美觀怎麼辦呢?我們可以自己寫乙個html模板然後利用thymeleaf載入資料。建立mailtemplate.ftl 作為郵件模版 只需要修改我們上次的imailserviceimpl其中傳送html郵件的方法 ...

SQL Server中傳送HTML格式郵件的方法

以下列舉使用sqlserver 傳送郵件的3個示例 此示例使用電子郵件位址 danw adventure works.com 向 dan wilson 傳送電子郵件。該郵件的主題為 automated success message。郵件正文包含一句話 the stored procedure fi...

使用python傳送html格式的email

和大夥分享乙個使用python傳送html格式的email的 我用在我的軟體的bug提交中。如下。請將 中的email和密碼替換成您的email和密碼。coding cp936 send email via gmail,support html email by jibo he hejibo ues...