shell发送网页邮件
部分IP打码 请谅解~
邮件发送格式 :
echo "cat html"|mail -s "$(echo -e "check node number Content-Type:text/html;charset=utf-8")" -r "grouplist_node_check" mail@mai.com
由mail -s指定发送的内容为html类型。
内容模板 (建议在Dreamweaver、PyCharm等工具编辑好预览OK后使用)
==============================================
<html>
<body>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style> table{border-collapse: collapse;border-spacing: 0;background-color: transparent;} .table {width: 100%; max-width: 100%; margin-bottom: 20px; } .table > tbody > tr > td{padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #dddddd; } .table-condensed > tbody > tr > td { padding: 5px; } .table-bordered { border: 1px solid #dddddd; } .table-bordered > tbody > tr > td { border: 1px solid #dddddd; } .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-child(odd) { background-color: #f9f9f9; } table > tbody > tr.warning > td { background-color: #fcf8e3; } .panel { margin-bottom: 20px; background-color: #ffffff; border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } .panel-body { padding: 15px; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-right-radius: 3px; border-top-left-radius: 3px; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; } .panel-warning > .panel-heading { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .panel-danger { border-color: #ebccd1; } .panel-danger > .panel-heading { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .fenzu{color: #5fc4f6} .num{color: #f65f5f} td{text-align: center;}
</style>
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title">分组信息</h3>
</div>
<div class="panel-body">
<table class="table table-bordered" style="margin: 0 60px; width: 520px; height: 41px;">
<tbody><tr class="warning" style="height: 30px">
<td style="width: 140px"><b style="color: #3c3c3c">分组名称</b></td>
<td style="width: 50px"><b style="color: #3c3c3c">节点个数</b></td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
=================================================
网页邮件顾名思义发送的就是网页格式的邮件,只要在发送时声明类型即可成功发送,shell、python、Foxmail都可发送,另外在测试中发现QQ邮箱可以在线预览编辑html邮件。
网页基本结构 (有些可以省略)
<html>
<head>
<title></title> 是网页的标题
<link/> 引用外部css/js
<meta /> 语言 一般是utf-8/gb2312
</head> 是网页头信息,一般来告诉浏览器引用的css/js样式是从哪里拿,还有语言、html版本等信息
<body>
</body> 是网页的主体结构用来书写网页的主要部分
<script></script> js函数或者引用一个什么东西进来 位置随意。一般是实现页面动态特效和辅助数据的元素
</html> 是网页的大结构,主要是告诉浏览器这个标签对是写的html的相关东西 用来区分
块级元素:容量比较大的标签,一般自带换行的标签都是块面级,且块面之间可以相互嵌套。 <div>、<table>、<p>、<br/>、<ul>
行内元素:只支持一行,不支持嵌套。<a>、<soqn>、<b>
样式:给标签赋予特定的颜色、大小、形状。是样式的作用。
样式有多种方法调用 行内调用是效力最强的 如给一个特定的<a>标签赋予颜色和字体大小的设置需要在行内写style:
<a href="#" style="color: read font-size:16px" >HTML基础</a>
如果有比较批量的<a>标签需要改变样式则给标签一个标记利用 class、id、name实现
<a href="#" class="baise">这是class样式演示</a> <a href="#" id="fense">这是id样式演示</a> <a href="#" name="wuse" >这是name演示的演示</a>
.baise{ color: #FFFFFF} #fense{color: #FF1493} 无法建立样式
若要全部<a> 标签生效
a{color: blue}
===================================================
注:网页邮件有很多样式限定,对于div的兼容性比较差,尽量使用table进行嵌套部署。
可以从bootstrap寻找样式提取取来加载进<style></style>中 然后在下文使用class或者id进行调用。
要使邮件报警跟脚本的输出结合起来我是用拼接实现的,将html table前面的部分保存成文件加载进脚本。
脚本输入的东西进行处理成网页table需要的格式跟加载的前半部分拼接而成,最后的结尾再做个拼接成品即可发送。
somkeping邮件美化
#!/bin/bash
DATE=`date -d "-1 min" +%Y%m%d-%H%M` |
不报警 分组&节点
20161129-0200 someloss CDN_Chinanet.CDN_BJ.bj163 [from ***.***.***.***] loss: 57%, 27%, 37%, 36%, 37%, 27%, 36%, 34%, 32%, 38%, 29%, 29%, 37%, 27%, 36%, 22%, 20%, 23%, 17% rtt: 139ms, 135ms, 135ms, 135ms, 135ms, 135ms, 135ms, 135ms, 135ms, 135ms, 135ms, 134ms, 135ms, 134ms, 135ms, 134ms, 134ms, 134ms, 117ms ***.***.***.*** someloss |
源文件
分组检查邮件报警
#!/bin/bash base_dir=/home/3jia5om/scripts/check_group_number work_dir=/root/powercdn_dns_conf group_dir=$work_dir/group WHITE_GROUP=$base_dir/white_group #特殊分组(白名单) SPECIAL_GROUP=$base_dir/no_use_group #无用分组 error_group=$base_dir/error_list html1=$base_dir/html1 html4="</tbody></table></div></div></body></html>" >$base_dir/html2 >$error_group for i in $group_dir/*.group do GROUP=`echo ${i##*/} | awk -F\. '{print $1}'` count=`egrep -o '[0-9]{1,3}(\.[0-9]{1,3}){3}' $i |wc -l` if [ $count -lt 5 ] then grep $GROUP $WHITE_GROUP |grep -v special_bj |grep -v special_bj_udp|grep -v download|grep -v meibeian |grep -v g12851373 >> /dev/null if [ $? -eq 0 ] then echo "$GROUP special node is $count " >> $error_group fi elif [ $count -lt 10 ] then grep $GROUP $WHITE_GROUP >> /dev/null || grep $GROUP $SPECIAL_GROUP >> /dev/null if [ $? -ne 0 ] then echo "$GROUP normal node is $count " >> $error_group fi fi done if [ -s $error_group ];then D=`date +"%F %T"` info="$D `sort -t ' ' -k 3 -k 5 $error_group | column -t`" sendsms() { for call in 18610297949 18613879049 do curl --data "p=$call&c=$info" "http://smss.powercdn.com/sendmsg/sendmsg.html" done cat $base_dir/error_list |while read i ##循环有问题的分组 do echo -e "<tr class="warning" style="height: 30px"><td style="width: 140px"><span class="fenzu">`echo $i|awk '{print $1}'`</span></td> \n <td style="width: 50px"><span class="num">`echo $i|awk '{print $5}'`</span></td></tr>" >>$base_dir/html2 ##输出网页表格结构 done html2=$base_dir/html2 html3=`cat $html1 $html2` echo "$html3 $html4"|mail -s "$(echo -e "check node number\nContent-Type:text/html;charset=utf-8")" -r "grouplist_node_check" yunwei@3jia5.com info@powercdn.com #echo "${info}"|mail -s "check node number" -r "check node" @@@.@@.com } sendsms else exit fi |
转载于:https://blog.51cto.com/12203705/1877711
shell发送网页邮件相关推荐
- linux shell 发送email 邮件
方法一:简单邮件发送 echo 'hello world' | mail -s "Subject" -t yanggang@ithomer.com,yanggang_2050@1 ...
- shell脚本编写监控本机内存和硬盘剩余空间,剩余内存小于 500M、根分区剩余空间小于 1000M时,发送报警邮件给 root 管理员
监控本机内存和硬盘剩余空间,剩余内存小于 500M.根分区剩余空间小于 1000M时,发送报警邮件给 root 管理员 # 创建shell脚本文件 vim free.sh #!/bin/bash di ...
- Linux Shell脚本专栏_Linux系统发送告警邮件脚本_02
文章目录 一.Linux系统发送告警邮件脚本 1. 安装mailx工具 2. 编辑mailx配置文件 3. 追加以下内容 4. 发送邮件测试 二.异常汇总 2.1. 异常信息 2.2. 开启授权码 一 ...
- Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明
Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明 ------by liyoujia 环境: 需要用到mutt 和 msmtp 这两款软件 Mutt:linux初始化安装的时候自 ...
- exchange邮箱服务器端追踪某用户发送的邮件(发送状态、时间、主题等等信息)
目录 需求 登录邮箱服务器管理工具 进入exchange管理界面命令行 登录网页版邮箱 发送测试邮件
- 使用CodeIgniter框架发送QQ邮件
使用CodeIgniter框架发送QQ邮件 1.在[CodeIgniter(CI)框架]的根目录下的./application/libraries/下创建[自定义的发送QQ邮件类库:Send_Emai ...
- 发送的邮件还能撤回吗?如何撤回已经发出的邮件?
早上刚到公司就看到小李被主管训话,问过后才知道原来是发错邮件了.大家讨论着说:小李,上次数据报表发错邮件,这次给客户发错邮件-我问:已经发送的邮件还能撤回吗?如何撤回已经发出的邮件? 已经发送的邮件还 ...
- 外贸企业邮箱可以撤回邮件吗?如何撤回已发送的邮件?
更换到TOM企业邮箱,发现了一个有意思的功能,在邮件发错时,邮箱可以撤回邮件. 邮箱可以撤回邮件吗?发出的邮件可以撤回吗? 仅支持撤回发往TOM邮箱的邮件(TOMVIP邮箱.TOM企业邮箱) 仅支持通 ...
- 如何撤回已发送的邮件?邮件撤回成功后对方还能看到吗
公司新来的小白给领导的邮件数据弄错了,没有检查就发给来到了,导致给客户的方案错误,差点影响公司业务.小白刚刚检讨完,懊恼不已.既然微信消息可以撤回,**如何撤回已发送的邮件呢?**其实,已发送邮件的确 ...
最新文章
- 震惊了!关于JAVA复习的最佳敏捷实践!进BAT就是个毛毛雨!
- Ocelot.JwtAuthorize:一个基于网关的Jwt验证包
- Linux服务器版本鼠标,安装GPM给Linux虚拟控制台提供配置鼠标支持
- 删除链表的倒数第n个节点 python_LeetCode 19.删除链表的倒数第N个节点(Python)
- SDOI2016R2(怎么可能是解题报告)
- 全部都显示服务器已加扰,特殊字符在浏览器中正确显示,但在phpMyAdmin中加扰...
- Google开源项目风格指南-Python(C++)风格指南
- 小学计算机教案 插入艺术字,小学信息技术《在幻灯片中插入艺术字》说课及反思...
- 网易邮箱服务器怎么注册,免费网易域名邮箱申请教程
- html简单网页源代码表格,HTML 表格
- PDF+word生成pdf+嵌入所有字体
- sheet中没有getcolumns()方法吗_痘痘能去除吗?有没有效果比较好的祛痘方法
- Linux修改固定ip 地址,亲测有效
- 决定了,儿童节我们用python画这个...
- 个性化广告推荐系统实战系列(一):任务数据简介和基本流程梳理
- html白色的斜线,面试官:如何使用 CSS 实现斜线效果?
- deepin+win10EFI分区删了/开机没有win的启动项解决方法
- CPU和CPU寄存器和CPU缓存和CPU内存管理器、RAM、hard disk。以及堆栈、内存映射。
- 优化产品交互逻辑来提升产品性能
- js替换关键词为链接,只替换一次,要避开超链接或图片