有时候,监控一个系统需要在系统出现警告时通过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="Wish0123@163.com"

SENDER="964478654@qq.com"

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...

shell脚本发邮件内容html,Shell发送邮件以HTML展示相关推荐

  1. shell脚本发邮件内容html,[转]Shell脚本中发送html邮件的方法

    作为运维人员,免不了要编写一些监控脚本,并将监控结果及时的发送出来.那么通过邮件发送是比较常用的一种通知方式了.通常的,如果需要发送的内容是简单的文本文件,那么使用/bin/mailx就可以了,但是如 ...

  2. linux 脚本发邮件短信,shell 监控脚本 短信告警

    监控+实时报警 自己使用bash shell 编写了一个监控脚本.通过139邮箱,发送邮件,短信及时通知. 功能描述:通过config.list文件获取各个服务器地址.相应端口.名称,循环检测各个应用 ...

  3. Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明

    Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明 ------by liyoujia 环境: 需要用到mutt 和 msmtp 这两款软件 Mutt:linux初始化安装的时候自 ...

  4. iOS使用shell脚本注入混淆内容

    2019独角兽企业重金招聘Python工程师标准>>> 背景 公司需要做一系列的壳版本,壳版本如果内容雷同提交到App Store会有被拒绝的风险,其中有一种解决方案是在壳版本中注入 ...

  5. aix shell脚本 运行java_Linux中执行shell脚本的4种方法总结

    Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法: 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: c ...

  6. linux exec 脚本之家,详解Shell脚本中调用另一个Shell脚本的三种方式

    主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 ...

  7. shell脚本系列:5、shell参数

    shell脚本系列:5.shell参数 文章目录 shell脚本系列:5.shell参数 1. 位置参数 2. 特殊参数 2.1 参数* 2.2 参数@ 2.3 参数# 2.4 参数? 2.5 参数- ...

  8. 嵌入式 Linux 入门(五、Shell 脚本编程上:认识 Shell 脚本)

    大家好,是矜辰所致,嵌入式 Linux入 门第五课,本课开始简单学习一下 Shell 脚本编程. 目录 前言 一.Shell 脚本基础说明 1.1 什么是 Shell 脚本 1.2 Shell 脚本的 ...

  9. shell脚本系列:1、shell、bash和shell脚本

    shell脚本系列:1.shell.bash和shell脚本 文章目录 shell脚本系列:1.shell.bash和shell脚本 1. 前言 2. shell.Bash.shell script简 ...

最新文章

  1. Bootstrap学习记录-2.container和table
  2. 【C++/C】【学习笔记】二分算法——处理“最小却最大”问题
  3. Android开发者值得深入思考的几个问题,大厂面经合集
  4. 蓝桥杯2017初赛-打印大X-找规律
  5. Linux 系统应用编程——多线程经典问题(生产者-消费者)
  6. Android 自定义View以及ValueAnimator学习
  7. 【华为云技术分享】Linux内核模块依赖图绘制(2)
  8. 麒麟810相当于骁龙多少?
  9. CSS3秘笈复习:第一章第二章第三章
  10. 2018青岛ICPC ZOJ 4062: Plants vs. Zombies(二分)
  11. 为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……
  12. 关于hankcs库的自然语言处理
  13. 【转】浅谈大型网站动态应用系统架构
  14. csrss32.exe
  15. 景区大数据可视化交互系统-全方位旅游服务平台,打造景区信息数据管理分析平台
  16. 【Unity3D】使用 FBX 格式的外部模型 ② ( FBX 模型与默认 3D 模型的区别 | FBX 模型贴图查找路径 | FBX 模型可设置多个材质 )
  17. 敏捷开发 敏捷个人_在敏捷2013中寻找答案
  18. 【LM】电池电量水平低 保留电池电量 关键级别电池电量水平
  19. PHP微信支付 curl请求https://api.mch.weixin.qq.com/pay/unifiedorder 返回空的解决方案
  20. Kubernetes学习二:资源管理及入门实战

热门文章

  1. Just do IT --- gulp
  2. 提升自己逼格的编程之美之代码规范
  3. Wireshark filter语法
  4. [csu/coj 1632]LCP
  5. Python之数据分析(Numpy的数组切片、数组变维、组合与拆分)
  6. 机器学习模型_如何口述机器学习模型原理
  7. mybatis date类型映射_Mybatis中类型映射处理器详解
  8. Python根据字符分组数量判断密码安全强度
  9. 微课|中学生可以这样学Python(5.8.1节):使用切片访问列表元素
  10. Python计算前n个自然数的阶乘和