sendMail在centos下的安装
一、sendEmail介绍
SendEmail is a lightweight, command line SMTP email client. If you have the need to send email from a command line, this
free program is perfect: simple to use and feature rich. It was designed to be used in bash scripts, batch files, Perl
programs and web sites, but is quite adaptable and will likely meet your requirements. SendEmail is written in Perl and is
unique in that it requires NO MODULES. It has an intuitive and flexible set of command-line options, making it very easy to
learn and use.
SendEmail is licensed under the GNU GPL, either version 2 of the License or (at your option) any later version.
[Supported Platforms: Linux, BSD, OS X, Windows 98, Windows NT, Windows 2000, & Windows XP]
sendmail是linux系统中一个邮箱系统,如果我们在系统中配置好sendmail就可以直接使用它来发送邮箱,sendEmail简单,轻量级,命令行,可伸缩,跨平台。
二、sendEmail安装
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvzf sendEmail-v1..tar.gz
cp sendEmail-v1./sendEmail /usr/local/bin/
chmod +x /usr/local/bin/sendEmail
三 、sendEmail的使用
这里通过编辑一个shell脚本来工zabbix监控程序来调用。
cd /apps/svr/zabbix/share/zabbix /alertscripts
vim sendEmail.sh #!/bin/bash
SMTP_server='smtp.163.com'# SMTP服务器
username='zabbixxxxx@163.com' # 用户名
password='xxxxxxxxxx' # 密码
from_email_address='zabbixfish@163.com' # 发件人Email地址
to_email_address="$1" # 收件人Email地址,zabbix传入的第一个参数
message_subject_utf8="$2" # 邮件标题,zabbix传入的第二个参数
message_body_utf8="$3" # 邮件内容,zabbix传入的第三个参数 # 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
message_subject_gb2312=`iconv -t GB2312 -f UTF- << EOF
$message_subject_utf8
EOF`
[ $? -eq ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8" # 转换邮件内容为GB2312
message_body_gb2312=`iconv -t GB2312 -f UTF- << EOF
$message_body_utf8
EOF`
[ $? -eq ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8" # 发送邮件
sendEmail='/usr/local/bin/sendEmail'
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312 tls=no [root@localhost alertscripts]# chmod +x sendEmail.sh
[root@localhost alertscripts]# ./sendEmail.sh xxxxxx@qq.com zabbix hello
Jul :: localhost sendEmail[]: Email was sent successfully!
解释:
-f 表示发送者的邮箱
-t 表示接收者的邮箱
-s 表示SMTP服务器的域名或者ip
-u 表示邮件的主题
-xu 表示SMTP验证的用户名
-xp 表示SMTP验证的密码
-m 表示邮件的内容
-o message-charset 邮件字符集
-o message-content-type=text 表示邮件的内容格式为 text ,另外还有html格式
四 、故障以及解决方案
故障一现象:
# sendEmail -f from@.com -t toi@qq.com -u "TestMail" -s smtp..com -xu cgh -xp passwd \
> -m "This is test mail "
*******************************************************************
Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
together with SSL_ca_file|SSL_ca_path for verification.
If you really don't want to verify the certificate and keep the
connection open to Man-In-The-Middle attacks please set
SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
at /usr/local/bin/sendEmail line .
invalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line
故障一解决方案:
a、卸载现有的perl版本,安装老版本(不推荐)
b、增加参数-o tls=no 选项
# sendEmail -f from@.com -t to@qq.com -u "TestMail" -s smtp..com -xu cgh -xp passwd \
> -m "This is test mail from Robinson" -o tls=no
Sep :: hn249 sendEmail[]: Email was sent successfully!
故障二现象:
# sendEmail -f chengguohua@htyjie.com -t leshami@qq.com -u "TestMail" -s smtp.exmail.qq.com -xu xxxxx -xp passwd \
> -m "This is test mail from xxxx" -o tls=no
Sep :: hn249 sendEmail[]: ERROR => ERROR => SMTP-AUTH: Authentication to smtp.exmail.qq.com: failed.
故障二解决方案:

需要在163邮件设置一个客户端授权密码即可。
注:其实sendEmail是一个十分有用的程序,我们在这个地方用了它,其实别的地方也可以用,典型的好处就是你不需要每台机器都装sendmail,开启smtp服务.直接用现成的一台邮件服务器就行了,这无疑很大的加强了系统的安全性,也节约了资源.
sendMail在centos下的安装的更多相关文章
- centos下编译安装lnmp
centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...
- CentOS下一键安装Openstack
CentOS下一键安装Openstack 系统环境:Oracle VirtualBox 4.38CentOS-6.5-x86_64-bin-DVD1.iso 安装前需要修改 /etc/hosts文件, ...
- mac和centos下git安装
mac下面的git安装,这篇文章写的很详细了http://www.cnblogs.com/ccdev/archive/2012/09/12/2682098.html 谈谈centos下的安装.我用的是 ...
- centOS下yum安装配置samba
centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...
- centos下apache安装后无法访问
2013.11.28遇到的问题: -------------------------------------- 一.centos下apache安装后无法访问 得查一下防火墙的问题 iptables添加 ...
- centos下yum安装crontab+mysql自动备份
参考博文: centos下yum安装crontab yum install vixie-cron crontabs //安装 chkconfig crond on ...
- CentOS下Mysql安装教程
CentOS下Mysql安装教程 本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个 ...
- CentOS下Docker安装
CentOS下Docker安装 1.安装: #sudo yum install docker 2.启动并加入开机启动: A.#sudo systemctl start docker B.#sudo s ...
- (转载)Centos下Elasticsearch安装详细教程
原文地址:http://www.cnblogs.com/sunny1009/articles/7874251.html Centos下Elasticsearch安装详细教程 1.Elasticsear ...
随机推荐
- Rope的简单介绍
repo的一些用法和理解 repo简单来讲就是一种调用git的一个脚本文件,用来管软件项目的软件仓库配置文件,描述了软件之间的一些依赖关系. 在Google的android项目下: repo只是goo ...
- New Concept English three (31)
35w/m 45 True eccentrics never deliberately set out to draw attention to themselves. They disregard ...
- 【机器学习】Boosting和Bagging的差别
boosting和bagging的差别: bagging中的模型是强模型,偏差低,方差高.目标是降低方差.在bagging中,每个模型的bias和variance近似相同,但是互相相关性不太高,因此一 ...
- Android内存优化(二)DVM和ART的GC日志分析
相关文章 Android内存优化系列 Java虚拟机系列 前言 在Java虚拟机(三)垃圾标记算法与Java对象的生命周期这篇文章中,提到了Java虚拟机的GC日志.DVM和ART的GC日志与Java ...
- boost库之 shared_ptr学习笔记
- Ubuntu下安装为知笔记
之前在Windows下用的是有道云笔记,但是后来开始习惯使用Linux开发,有道云官方并没有提供Ubuntu的版本,所以权衡之下,选择了为知笔记,安装步骤: sudo add-apt-reposito ...
- 关于python模拟登录的一点实践
不久前,通过网上查阅各种资料,一直想利用python来实现模拟登录的功能,通过csdn汪海的博客学会了一点,但也只能算个皮毛,亦或皮毛都算不上. 边查阅资料边写一个小东西,起初想写一个程序,通过暴力破 ...
- 【英语】Bingo口语笔记(85) - ain,ane读法
- Xcode7 修改项目名完全攻略
1.先把整个工程文件夹名改为新的工程名. 2 .将旧项目文件夹和Tests文件名夹修改为新的名称,修改后如下图所示 3.右击 ,选择“show content package”(中文:显示包内容),看 ...
- CentOS虚拟机中安装VMWare Tools
1.单击VMWare的[虚拟机]菜单,选择[安装VMWare Tools]命令 2.接着CentOS系统会自动挂载VMWare Tools,并自动打开,如果没有打开可以自己去图形界面打开VMWare ...