使用 sendemail 命令发送邮件

本来就是想快速了解一下如何发送报警邮件,结果被sendmail 邮件服务器的配置弄得晕晕的, 后来被终于 被 sendemail 解救了!

sendemail -f regulus_cn@163.com -t regulus_cn@163.com -s smtp.163.com -u "sss" -xu 用户 -xp 密码 -m "内容"

nagios发警告邮件是采用本机的smtp服务,可以查看commands.cfg中关于发邮件的命令的定义,使用本机的mail命令,这就需要开启本机的smtp服务,为了安全可以在防火墙上设置拒绝其他的机器连本机的25号端口 现在我们的网络里面有一个邮件服务器,所以要求使用这台现有的邮件服务器,不开启本机的smtp服务,这就需要重新定义命令使用第三方软件sendEmail.

首先我们当然要在邮件服务器上新建一个账户用来做发邮件的账户 这里邮件服务器的地址为mail.test.com 用来发邮件的帐号nagios@test.com SMTP验证的用户名 nagios 密码 p#3isoda

以下就来介绍一下sendEmail这个软件的使用. sendEmail的主页http://caspian.dotconf.net/menu/Software/SendEmail/ 下载地址http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz 软件十分小,是一个通过命令来发smtp邮件的程序.安装也十分简单(查看其README文件即可). 解压缩tar –zxvf sendEmail-v1.55.tar.gz cd sendEmail-v1.55 将可执行程序复制cp sendEmail /usr/local/bin 然后给确认确实它具有执行权限 ll /usr/local/bin/sendEmail -rwxr-xr-x 1 root root 77882 11-03 14:23 /usr/local/bin/sendEmail 这样程序就装好了,使用也很简单.直接运行sendEmail就会显示详细的用法 先看一个典型的例子 /usr/local/bin/sendEmail –f nagios@test.com –t yahoon@test.com –s mail.test.com –u “from nagios” –xu nagios –xp p#3isoda –m happy 解释: -f 表示发送者的邮箱 -t 表示接收者的邮箱 -s 表示SMTP服务器的域名或者ip -u 表示邮件的主题 -xu 表示SMTP验证的用户名 -xp 表示SMTP验证的密码(注意,这个密码貌似有限制,例如我用d!5neyland就不能被正确识别) -m 表示邮件的内容

如果你不带-m参数的话,就会提示你自行输入 Reading message body from STDIN because the ‘-m’ option was not used. If you are manually typing in a message:

  • First line must be received within 60 seconds.
  • End manual input with a CTRL-D on its own line 输入完成后使用CTRL-D来结束 当然我们也可以将一个文件的内容作为邮件的正文发出去的 那么就可以使用: cat 文件名 | /usr/local/bin/sendEmail –f nagios@test.com –t yahoon@test.com –s mail.test.com –u “from nagios” –xu nagios –xp p#3isoda 有关sendEmail的用法就讲到这里

既然nagios要使用sendEmail来发警告邮件,那么就要修改commands.cfg中关于发邮件的命令的定义,我们现在来修改notify-by-email这个命令,如下(注意其中粗体的部分)

'notify-by-email' command definition

define command{ command_name notify-by-email command_line /usr/bin/printf "%b" "***** Nagios 2.9 ***\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/local/bin/sendEmail -f nagios@test.com -t $CONTACTEMAIL$ -s mail.test.com -u " $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu nagios -xp p#3isoda }

转载于:https://my.oschina.net/u/877567/blog/186914

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值