您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

在LINUX下面发送HTML格式的邮件

时间:2019-12-18 13:11:50  来源:  作者:

需求:用linux自带的邮件服务发送html格式的邮件,以下是最终的结果

在LINUX下面发送HTML格式的邮件
 
 
 

1) 将要发送的内容从MySQL取出来并生成.txt文件

backuplog.sh

#!/bin/bash

#mydumper多线程数据备份

export PATH=/usr/local/bin:/usr/local/mysql/bin:$PATH

#配置表及job信息存放位置

HOSTNAME="localhost"

PORT="3306"

USERNAME="root"

PASSword="123456"

today=`date "+%G%m%d"`

for ip in $(mysql -u $USERNAME -p$PASSWORD -h $HOSTNAME -P $PORT -e "select concat(ip,',',port,',',backupstatus) from mysqlcenter.backuplog where backupstatus='SUCCESS' and btype='end backup' and btime> DATE_FORMAT(NOW(),'%Y-%m-%d')union all select concat(ip,',',port,',',backupstatus) from mysqlcenter.backuplog where backupstatus='FAILED' and btype='end backup' and btime> DATE_FORMAT(NOW(),'%Y-%m-%d');

"|sed '1d')

do

echo $ip >> backuplog"$today".txt

done

最后保存并赋权chmod 777 sendmail.sh

2) 对上一步生成的.txt生成html格式的

sendmail.sh

#!/bin/bash

#FILE1_PATH="/root/wsktest/2.png"

FILE1_PATH=""

EMAIL_TITLE="测试"

today=`date "+%G%m%d"`

html_input(){

echo "<tr>

<td>$1</td>

<td>$2</td>

<td>$3</td>

</tr>" >>/data/email/mail.html

}

html_input_red(){

echo "<tr bgcolor="#FF0000">

<td>$1</td>

<td>$2</td>

<td>$3</td>

</tr>" >>/data/email/mail.html

}

set_info(){

i=1

echo "

<table border=1 border=1 cellspacing='0' cellpadding='0' >

<tr>

<th>table_name</th>

<th>source_count</th>

<th>target_count</th>

</tr>" > /data/email/mail.html

table_counts=$(awk -F "," '{print $1}' /data/email/backuplog"$today".txt) #表计数集合

for tablename in $table_counts

do

j=2

html_sour_count=$(awk -F "," 'NR==i { print $j}' i=$i j=$j /data/email/backuplog"$today".txt) #mysql中对应的计数

let "j++"

html_tar_count=$(awk -F "," 'NR==i { print $j}' i=$i j=$j /data/email/backuplog"$today".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 #构造每行表格信息

fi

let "i++"

echo $tablename $html_sour_count $html_tar_count $i $j

done

echo "</table>" >> /data/email/mail.html

}

set_info

EMAIL_Excel=$(cat /data/email/mail.html)

最后赋权chmod 777 backuplog.sh

3) 发送邮件

mail -s "$(echo -e "testnContent-Type: text/html;charset=gb2312")" "ji@163.com" <mail.html

4) 把这三步合并在一起成一步

email.sh

#!/bin/bash

bash /data/email/backuplog.sh

bash /data/email/sendmail.sh

cd /data/email

mail -s "$(echo -e "testnContent-Type: text/html;charset=gb2312")" "ji@163.com" <mail.html

最后赋权chmod 777 email.sh



Tags:LINUX 邮件   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
通常,不管你是通过 简单邮件传输协议(Simple Mail Transport Protocol)(SMTP)或者 互联网消息访问协议(Internet Message Access Protocol)(IMAP)或 邮局协议(Post Office Protocol)(POP)发送或者接受邮件,邮件服务默认都是以...【详细内容】
2020-05-14  Tags: LINUX 邮件  点击:(103)  评论:(0)  加入收藏
需求:用linux自带的邮件服务发送HTML格式的邮件,以下是最终的结果 1) 将要发送的内容从mysql取出来并生成.txt文件backuplog.sh#!/bin/bash#mydumper多线程数据备份export...【详细内容】
2019-12-18  Tags: LINUX 邮件  点击:(149)  评论:(0)  加入收藏
当你需要在 shell 脚本中创建邮件时,就需要用到命令行发送邮件的知识。Linux 中有很多命令可以实现发送邮件。-- Magesh Maruthamuthu(作者)当你需要在 shell 脚本中创建邮件...【详细内容】
2019-12-11  Tags: LINUX 邮件  点击:(119)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(40)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条