本文共 4223 字,大约阅读时间需要 14 分钟。
sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在、bash、和web站点使用。
以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。用了sendEmail你将不在喜欢sendmail了.
1 2 3 4 5 | # sendEmail下载地址:http://caspian.dotconf.net/menu/Software/SendEmail/ wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz //下载1.56版本 tar -xzvf sendEmail-v1.56.tar.gz //解压后就可以使用了 cp sendEmail-v1.56/sendEmail /usr/local/bin/ chmod +x /usr/local/bin/sendEmail |
1 | yum install perl-Net-SSLeay perl-IO-Socket-SSL |
1 2 3 | # sendEmail -f a@domain.com -t test@qq.com \ -s smtp.163.com -u "我是邮件主题" -o message-content-type=html \ -o message-charset=utf8 -xu ttlsafrom@163.com -xp 123456 -m "我是邮件内容" |
发送成功之后会有如下提示:
Jul 29 15:02:53 e10074 sendEmail[26347]: Email was sent successfully!命令说明:
1 2 3 4 5 6 7 8 9 10 | /usr/local/bin/sendEmail 命令主程序 -f ttlsafrom@163.com 发件人邮箱 -t test@qq.com 收件人邮箱 -s smtp.163.com 发件人邮箱的smtp服务器 -u "我是邮件主题" 邮件的标题 -o message-content-type=html 邮件内容的格式,html表示它是html格式 -o message-charset=utf8 邮件内容编码 -xu ttlsafrom@163.com 发件人邮箱的用户名 -xp 123456 发件人邮箱密码 -m "我是邮件内容" 邮件的具体内容 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # 进入zabbix自定义的指定目录 # 可以查看zabbix_server.conf配置文件AlertScriptsPath变量是如何定义的。 cd /usr/local/zabbix/share/zabbix/alertscripts/ ------------------------------- 编辑脚本 vim sendEmail.sh 内容如下: #!/bin/bash to=$1 subject=$2 body=$3 /usr/local/bin/sendEmail -f a@domain.com -t "$to" -s smtp.exmail.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xua@domain.com -xppassword -m "$body" 说明: 上面有4个地方我用紫色加粗字体表示了 a@domain.com 表示发件人邮箱 smtp.exmail.qq.com 表示邮箱的smtp服务器,因为我是用的腾讯企业邮箱。如果是其他邮箱,需要修改 password 表示发件人邮箱 编辑完成后,给脚本权限 chmod +x zabbix_sendEmail.sh chown -R zabbix.zabbix zabbix_sendEmail.sh |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | [root@li229-122 scripts]# sendEmail --help sendEmail-1.56 by Brandon Zehm < caspian @dotconf.net> Synopsis: sendEmail -f ADDRESS [options] Required: -f ADDRESS from (sender) email address * At least one recipient required via -t, -cc, or -bcc * Message body required via -m, STDIN, or -o message-file=FILE Common: -t ADDRESS [ADDR ...] to email address(es) -u SUBJECT message subject -m MESSAGE message body -s SERVER[:PORT] smtp mail relay, default is localhost:25 Optional: -a FILE [FILE ...] file attachment(s) -cc ADDRESS [ADDR ...] cc email address(es) -bcc ADDRESS [ADDR ...] bcc email address(es) -xu USERNAME username for SMTP authentication -xp PASSWORD password for SMTP authentication Paranormal: -b BINDADDR[:PORT] local host bind address -l LOGFILE log to the specified file -v verbosity, use multiple times for greater effect -q be quiet (i.e. no STDOUT output) -o NAME=VALUE advanced options, for details try: --help misc -o message-content-type=< auto |text|html> -o message-file=FILE -o message-format=raw -o message-header=HEADER -o message-charset=CHARSET -o reply-to=ADDRESS -o timeout=SECONDS -o username=USERNAME -o password=PASSWORD -o tls=< auto |yes|no> -o fqdn=FQDN Help: --help the helpful overview you're reading now --help addressing explain addressing and related options --help message explain message body input and related options --help networking explain -s, -b, etc --help output explain logging and other output options --help misc explain -o options, TLS, SMTP auth, and more |
在使用腾讯企业邮箱过程中,经常出现邮件发不出去的情况,返回以下报错:
Bash
Nov 03 14:39:58 localhost sendEmail[26222]: WARNING => The recipientwas rejected by the mail server, error follows:Nov 03 14:39:58 localhost sendEmail[26222]: WARNING => smtp.exmail.qq.com:25 returned a zero byte response to our query.Nov 03 14:39:58 localhost sendEmail[26222]: ERROR => Exiting. No recipients were accepted for delivery by the mail server.
网上还找不到具体原因,猜想可能是腾讯的安全认证级别太高,不加密的smtp转发被判定为垃圾邮件的原因吧。查看企业邮箱的帮助说明,smtp配置都是使用的465端口ssl加密。所以,我们使用sendEmail时候,需要使用tls加密,即再加上一个“ -o tls=yes ”的参数。而要使用tls,要先给系统安装相应的依赖组件:
Bash
# yum install -y perl perl-IO-Socket-SSL perl-Net-SSLeay
装完先发送一个测试邮件试试,OK了再更新到nagios command。
微信报警实现:https://www.abcdocker.com/abcdocker/2573
本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1954419如需转载请自行联系原作者
qianghong000