php使用sendemail,如何使用sendEmail发送邮件

sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash、perl和web站点使用。

以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。用了sendEmail你将不在喜欢sendmail了.

下载安装sendEmail

# 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

安装组件

yum install perl-Net-SSLeay perl-IO-Socket-SSL

发送测试邮件

#  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!

命令说明:

/usr/local/bin/sendEmail 命令主程序

-f ttlsafrom@163.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 "我是邮件内容"        邮件的具体内容

编写脚本

# 进入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

sendEmail使用命令帮助

[root@li229-122 scripts]# sendEmail --help

sendEmail-1.56 by Brandon Zehm 

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=

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

网上还找不到具体原因,猜想可能是腾讯的安全认证级别太高,不加密的smtp转发被判定为垃圾邮件的原因吧。查看企业邮箱的帮助说明,smtp配置都是使用的465端口ssl加密。所以,我们使用sendEmail时候,需要使用tls加密,即再加上一个“ -o tls=yes ”的参数。而要使用tls,要先给系统安装相应的依赖组件:

Bash

装完先发送一个测试邮件试试,OK了再更新到nagios command。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值