首页 > 代码库 > 如何使用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 //解压后就可以使用了
mv sendEmail-v1.56 /usr/local/sendEmail
ln -s /usr/local/sendEmail/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 <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

sendEmail发送邮件内容到此结束,如有什么不明白的,请留言.


本文出自 “奔跑在路上” 博客,请务必保留此出处http://qiangsh.blog.51cto.com/3510397/1954419

如何使用sendEmail发送邮件