安装
1 | #下载安装包 |
发送邮件
发送普通邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22#!/bin/bash
#收件箱
EMAIL_RECIVER="565506019@qq.com"
#发送者邮箱
EMAIL_SENDER=565506019@qq.com
#邮箱用户名
EMAIL_USERNAME=565506019
#邮箱密码
#使用qq邮箱进行发送需要注意:首先需要开启:POP3/SMTP服务,其次发送邮件的密码需要使用在开启POP3/SMTP服务时候腾讯提供的第三方客户端登陆码。
EMAIL_PASSWORD=vhyqolafodnbgag
#附件路径
FILE1_PATH="/root/homework/sEmail.sh"
#smtp服务器地址
EMAIL_SMTPHOST=smtp.qq.com
EMAIL_TITLE="测试"
EMAIL_CONTENT="谢谢!"
sendEmail -f ${EMAIL_SENDER} -t ${EMAIL_RECIVER} -s ${EMAIL_SMTPHOST} -u ${EMAIL_TITLE} -xu ${EMAIL_USERNAME} -xp ${EMAIL_PASSWORD} -m ${EMAIL_CONTENT} -a ${FILE1_PATH} -o message-charset=utf-8发送html格式邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22#!/bin/bash
#收件箱
EMAIL_RECIVER="565506019@qq.com"
#发送者邮箱
EMAIL_SENDER=565506019@qq.com
#邮箱用户名
EMAIL_USERNAME=565506019
#邮箱密码
#使用qq邮箱进行发送需要注意:首先需要开启:POP3/SMTP服务,其次发送邮件的密码需要使用在开启POP3/SMTP服务时候腾讯提供的第三方客户端登陆码。
EMAIL_PASSWORD=vhyqolafodnbgag
#附件路径
FILE1_PATH="/root/homework/html_file.html"
#smtp服务器地址
EMAIL_SMTPHOST=smtp.qq.com
EMAIL_TITLE="测试html"
EMAIL_CONTENT=$(cat /root/homework/html_file.html)
sendEmail -f ${EMAIL_SENDER} -t ${EMAIL_RECIVER} -s ${EMAIL_SMTPHOST} -u ${EMAIL_TITLE} -xu ${EMAIL_USERNAME} -xp ${EMAIL_PASSWORD} -m ${EMAIL_CONTENT} -a ${FILE1_PATH} -o message-charset=utf-8 -o message-content-type=html
1 | 和普通邮件不同的地方在于我们使用了-o message-content-type=html进行了指定 |
结合shell编辑
- 题目
1
2
3
4
5
6有一个data源,我们要判断第一列和第二列的数据是否一致,如果不一致,给它标红处理,并生成html发送到邮箱
file:data
14678 14679
12343 8972
123890 123890
答案
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59NR=$(awk 'END{print NR}' data)
echo ${NR}
html_start="
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<table border="1">
<thead>
<tr>
<th>mysql数据</th>
<th>hive数据</th>
</tr>
</thead>
<tbody border=1>
"
html_end="
</tbody>
</table>
</body>
</html>
"
html=$html_start
html_input(){
echo "<tr>
<td>$1</td>
<td>$2</td>
</tr>"
}
html_input_red(){
echo "<tr bgcolor="#FF0000">
<td>$1</td>
<td>$2</td>
</tr>"
}
for ((i=1;i<=$NR;i++));
do
mysqlData=$(awk 'NR==i {print $1}' i=$i data)
hiveData=$(awk 'NR==i {print $2}' i=$i data)
if [ ${mysqlData} == ${hiveData} ];then
tr=$(html_input $mysqlData $hiveData)
else
tr=$(html_input_red $mysqlData $hiveData)
fi
html=$html$tr
done
echo $html$html_end > html_file.html这样我们的html就生成出来了,使用上面发送html邮件的方式发送邮件吧