实用!!服务器监测邮箱报警

   日期:2020-08-29     浏览:84    评论:0    
核心提示:Linux系统下使用SMTP发送邮件下载并安装SMTP组件邮箱发送脚本Linux系统下使用SMTP发送邮件下载并安装SMTP组件可以使用wget在线网上下载wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz解压软件包tar -zxvf sendEmail-v1.56.tar.gz将执行文件放到/usr/local/bin/下方便调用cp sendEmail-v1..

  • Linux系统下使用SMTP发送邮件
    • 下载并安装SMTP组件
    • 邮箱发送脚本

Linux系统下使用SMTP发送邮件

下载并安装SMTP组件

  1. 可以使用wget在线网上下载

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

  1. 解压软件包

tar -zxvf sendEmail-v1.56.tar.gz

  1. 将执行文件放到/usr/local/bin/下方便调用

cp sendEmail-v1.56/sendEmail /usr/local/bin/

  1. 给sendEmail文件执行权限

chmod 755 /usr/local/bin/sendEmail

邮箱发送脚本

vi /opt/sendEmail.sh
#!/bin/bash
#
# Filename: SendEmail.sh
# Revision: 1.0
# Date: 2020/05/29
# Author(作者): xxx
# Email: xxx.@qq.com
# Description(说明): 邮件告警脚本
# Notes: 使用sendEmail
#

# 脚本的日志文件
LOGFILE="/tmp/Email.log"
:>"$LOGFILE"  #清空文件
exec 1>"$LOGFILE"  #将标准输出重定向到日志文件中
exec 2>&1    #将错误输出也重定向到日志文件中
##########################以下变量赋值,(变量值自定义)方便调用#######################
SMTP_server='smtp.qq.com'            # 指定SMTP服务器,变量值开自行修改(例如smtp.163com)
username='XXXX@qq.com'                         	# 用户名,变量值为自己的邮箱
password='password'                 # 密码(QQ邮箱用的是授权码)
from_email_address='XXXX@qq.com'         	# 发件人Email地址
to_email_address="$1"                  # 收件人Email地址,使用位参1调用
message_subject_utf8="$2"                 # 邮件标题,位参2编写邮箱主题
message_body_utf8="$3"       # 邮件内容,位参3为邮件内容

############# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。###########
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF $message_subject_utf8 EOF`
[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"

######################转换邮件内容为GB2312,解决收到邮件内容乱码#####################
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF $message_body_utf8 EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
####################使用sendmail调用变量发送邮件###############################
sendEmail='/usr/local/bin/sendEmail'
set -x
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312

补充1
linux shell 配置文件中默认的字符集编码为UTF-8 。UTF-8是unicode的一种表达方式,gb2312是和unicode一样都是字符的编码方式,所以说gb2312跟utf-8的概念应该不是一个层次上的。在LINUX上进行编码转换时,可以利用iconv命令实现,这是针对文件的,即将指定文件从一种编码转换为另一种编码。

iconv命令格式:
iconv [选项…] [文件…]

有如下选项可用:

输入/输出格式规范 含义
-f, --from-code 名称 原始文本编码
-t, --to-code 名称 输出编码
输出控制 含义
-c 从输出中忽略无效的字符
-o, --output FILE 输出文件
-s, --silent 关闭警告
–verbose 打印进度信息

示例:

iconv -f utf-8 -t gb2312 /server_test/reports/software_.txt > /server_test/reports/software_asserts.txt

补充2
sedmail用法

选项 含义
-f 发件人邮箱地址,例如 -f from@163.com
-t 收件人邮箱地址,例如 -t to@qq.com
-s 发件人邮箱的smtp服务器地址,例如 -s smtp.163.com
-u 邮件标题,例如 -u ‘test’
-o 邮件内容格式为html,例如 -o message-content-type=html
-o 邮件内容编码为utf8,例如 -o message-charset=utf8
-xu 发件人邮箱登录用户名,例如 -xu from@163.com
-xp 发件人邮箱登录密码,例如 -xp ‘passwd’
-m 邮件内容,例如 -m ‘test’
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服