wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar -zxvf sendEmail-v1.56.tar.gz
cp sendEmail-v1.56/sendEmail /usr/local/bin/
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’ |
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2018 群英 版权所有 茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号-36 粤公网安备 44090202000006号 粤工商备P091701000595