如何使用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发送邮件内容到此结束,如有什么不明白的,请留言.

时间: 2025-02-01 05:07:25

如何使用sendEmail发送邮件的相关文章

zabbix使用sendEmail发送邮件报警

sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bashperl和web站点使用.以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了.用了sendEmail你将不在喜欢sendmail了. 1.下载安装sendEmail [[email protected] ~]# wget http://caspian.dotconf.net/menu/Softwa

linux下配置使用sendEmail发送邮件

有时候我们要将每天的sql慢查询等信息发送到运维人员或者其他相关责任人.linux下默认的邮件发送方式经常被各种邮件服务器当做垃圾邮件处理了. 因此我们最好还是自己动手改造下. 下载sendEmail-v1.56.tar.gz并解压到/root目录下,重命名为sendEmail 然后编写mail.sh 内容如下: #!/bin/bash # Date: 2017/01/01 # 发件人账号和密码 user='mysender2016' pass='[email protected]' sendE

python3 通过qq 服务器 发送邮件

# -*- encoding: utf-8 -*-import os, sysimport smtplibfrom smtplib import SMTP_SSLfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.mime.application import MIMEApplication mailI

NAGIOS 使用sendmail发送邮件关于标题乱码的解决方法

公司的nagios报警发送邮件,标题乱码,我在解决问题的时候,发现,只有往公司的新浪企业邮箱发送邮件会产生乱码问题(标题乱码),而向我自己的邮箱(163,qq)发送都不会有乱码的问题,考虑发送邮件和接收邮件,只有发送邮件可以考虑,接收邮件考虑不了(邮箱没有编码.....),所以只能更改配置或者更改邮箱(必须的用企业邮箱),所以只有一个办法了,修改配置:在网上搜了好久看到许多解决办法,其中借鉴了(http://blog.sina.com.cn/s/blog_485acedb0100z51f.htm

nagios配置安装

Nagios官网:https://www.nagios.org/ nagios重状态和结果,支持告警,没有数据历史,不用数据库,不成图像,不支持web配置,也可以自己开发脚本定制个性化的监控,支持多插件. 监控日志:log_file=/var/log/nagios/nagios.log Web访问原因:/etc/httpd/conf.d/nagios.conf yum nagios默认路径/etc/nagios,同时httpd.php被作为依赖安装 yum install -y nagios-p

Git 版本管理工具命令速查

转自:http://www.jb51.net/article/55442.htm 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote add origin [email protected]:ndshowgit push origin mast

ES5中新增的Array方法详细说明

ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了. ES5中新增了写数组方法,如下: forEach (js v1.6) map (js v1.6) filter (js v1.6) some (js v1.6) every (js v1.6) indexOf (js v1.6) lastIndexOf (js v1.6) reduce (js v1.8) reduceRight (js v1.8) 浏览器支持 Ope

Git 命令速查表

1.常用的Git命令 命令 简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply 应用补丁 git am 应用邮件格式补丁 git annotate 同义词,等同于 git blame git archive 文件归档打包 git bisect 二分查找 git blame 文件逐行追溯 git branch 分支管理 git cat-file 版本库对象研究工具 git checkout 检出到工作区.切换或创建分支 git cherr

Git 常用命令速查

一. Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am "init" 提交并且加注释 git remote add origin [email protected]1.119:ndshow git push origin master 将文件给推到服务器上 git remote show or