技术标签: shell脚本发邮件内容html
有时候,监控一个系统需要在系统出现警告时通过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="[email protected]"
SENDER="[email protected]"
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
发送成功了!
好玩吧~
参考文章:
https://blog.csdn.net/leshami...
https://my.oschina.net/u/4005...
https://blog.csdn.net/wz94732...
文章浏览阅读9.3k次,点赞3次,收藏37次。版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ..._gan神经网络
文章浏览阅读388次。package com.genomics.ib.item.control;import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import o..._java的ftp工具类
文章浏览阅读100次。UE4动画蓝图 小白人的优化
文章浏览阅读970次。ubootNXP 官方开发板 uboot 编译测试查找 NXP 官方的开发板默认配置文件编译 NXP 官方开发板对应的 uboot烧写验证与驱动测试正点原子开发手册学习笔记我们就来学习如何将 NXP 官方的 uboot 移植到正点原子的 I.MX6ULL 开发板上,学习如何在 uboot 中添加我们自己的板子。小白自述:本章学习笔记虽然是一步步移植uboot,实际是为了学习在移植过程中能够对uboot源码各个功能有更深入地了解。NXP 官方开发板 uboot 编译测试查找 NXP 官方的开发板默认_桃子移植第五驱动
文章浏览阅读737次。智能回复:钉钉机器人 API 提供了智能回复功能,可以实现根据用户发送的消息自动回复。开发者可以根据消息内容进行语义分析,并返回合适的回复。钉钉机器人 API 是阿里巴巴旗下钉钉平台提供的一种基于 HTTP 协议的 API 服务,它可以帮助开发者快速构建智能机器人,实现与用户的实时互动和自动回复。消息处理:钉钉机器人 API 提供了消息处理功能,可以实现对用户发送的消息进行接收、解析和回复。钉钉机器人 API 提供了丰富的功能,可以帮助开发者快速构建智能机器人,实现与用户的实时互动和自动回复。_钉钉机器人 api
文章浏览阅读1.7k次,点赞4次,收藏22次。本文首先对比了Python的各个GUI库并给出了首推PyQt的原因,其次本文详细介绍了Pycharm的环境搭建,最后本文写了一个简单的PyQt示例,用于入门展示。_peaklin脚本pyqt
文章浏览阅读475次。caching_sha2_password To mysql_native_passworderror 1251 [Client does not support authentication protocol requested by server; consider upgrading MySQL client]修改权限mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;Query OK, 0_error 1251
文章浏览阅读670次。2018年5月10日 晚9点 亲测可用1、安装软件1)安装node.js(在官网下载v8.11.1,v10配置好后会出现乱码卸载掉装成v8重启下电脑就可以了) 一路next即可,记下安装路径 ,eg:D:\node2)使用node下载less win+R 打开运行窗口,输入cmd,回车打开进入D盘,输入d:进入node安装目录cd D:\node安装lessnpm install -..._webstrom less $message未定义
文章浏览阅读4.4k次,点赞6次,收藏16次。pikachu是一个比较详细的漏洞平台;MySQL读取文件用load_file()函数;写入文件用into outfile。UPDATEXML()函数用于捕捉错误;在user-agent后加入payload进行user-agent注入;通过修改请求头中的referer进行SQL注入测试,可以通过3种方式进行安全测试;在请求头的cookie参数中加入payload‘进行cookie测试;使用Base64加密的注入语句,插入到Cookie对应的位置完成SQL注入漏洞的探测。_all tested parameters
文章浏览阅读360次。FreeRTOS 中,任务的创建有两种方法,一种是使用动态创建,一种是使用静态创建。动态创建时,任务控制块和栈的内存是创建任务时动态分配的,任务删除时,内存可以释放。静态创建时,任务控制块和栈的内存需要事先定义好,是静态的内 存 ,任务删除时 ,内存不能释放。更具需求使用这两种创建方法。_freertos中可以既创建动态任务又创建静态任务吗
文章浏览阅读2.4k次。最近有一个深刻的体会:如果算上时间的成本和回报率,免费的往往是最贵的的我们总喜欢到网站搜各种免费的视频讲课,然后,然后殊不知,很多的免费课程知识普及性的,我们花去了时间,却没有学到精髓。我们总期望买入低成本的股票,美其名曰,价值投资,与主力一起建仓,殊不知,主力的建仓时间很长,主力通过后期拉升的空间换取前期漫长的时间长度。然而对于散户而言,很难坚持坚持下去,即使坚持下去了,我们也无法知道单只股票的底部和顶部到底在哪里,大多数时候,我们在底部上升不久,还没有进入快速拉升阶段,就已经止盈出局,我们漫长的_量化投资免费课程
文章浏览阅读2w次,点赞23次,收藏77次。深度学习:卷积神经网络(CNN)1.引言上一部分简单介绍了传统机器学习框架在ECG分类领域的基本应用。传统机器学习框架对于人工特征非常依赖,如果算法设计者没有足够经验,很难提取出高质量的特征,这也是传统机器学习框架的局限性。近几年来以卷积神经网络(Convolutional Neural Network,CNN)为代表的深度学习技术蓬勃兴起,其优势在于可以从大数据中自动习得特征而无需人工设计特征,..._深度学习处理ecg是处理图像还是处理数据点