如何使用sendEmail发送邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用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 [email protected] -t [email protected] -s smtp.163.com -u "我是邮件主题" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp 123456 -m "我是邮件内容"
发送成功之后会有如下提示:
Jul 29 15:02:53 e10074 sendEmail[26347]: Email was sent successfully!
命令说明:
/usr/local/bin/sendEmail 命令主程序 -f [email protected] 发件人邮箱 -s smtp.163.com 发件人邮箱的smtp服务器 -u "我是邮件主题" 邮件的标题 -o message-content-type=html 邮件内容的格式,html表示它是html格式 -o message-charset=utf8 邮件内容编码 -xu [email protected] 发件人邮箱的用户名 -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 [email protected] -t "$to" -s smtp.exmail.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 [email protected] -xppassword -m "$body" 说明: 上面有4个地方我用紫色加粗字体表示了 [email protected] 表示发件人邮箱 smtp.exmail.qq.com 表示邮箱的smtp服务器,因为我是用的腾讯企业邮箱。如果是其他邮箱,需要修改 password 表示发件人邮箱 编辑完成后,给脚本权限 chmod +x zabbix_sendEmail.sh chown -R zabbix.zabbix zabbix_sendEmail.sh
sendEmail使用命令帮助
[[email protected] scripts]# sendEmail --help sendEmail-1.56 by Brandon Zehm <[email protected]> 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发送邮件的主要内容,如果未能解决你的问题,请参考以下文章
如何强制 Google App Script MailApp.sendEmail 在循环中为每封电子邮件使用新线程?