使用sendmail来发邮件

安装sendEmail

sendEmail是一个免费、轻量级、命令行的SMTP邮件客户端。

如果你需要使用命令行方式发送邮件,那么sendEmail是非常完美的选择:使用简单、功能强大。

wget -P /tmp
# 安装组件
yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
# 解压压缩包,并把命令拷贝到/usr/local/bin下
tar -zxvf /tmp/sendEmail-v1.56.tar.gz -C /tmp
cp /tmp/sendEmail-v1.56/sendEmail /usr/local/bin/
chmod +x zabbix:zabbix /usr/local/bin/sendEmail

3. 创建zabbix报警脚本目录

mkdir -p /usr/local/zabbix/alertscripts
chown -R zabbix:zabbix /usr/local/zabbix/alertscripts

4. 修改zabbix服务端配置文件指定脚本目录

vim /usr/local/zabbix/etc/zabbix_server.conf
# 将AlertScriptsPath变量修改为如下,大概在448行左右
AlertScriptsPath=/usr/local/zabbix/alertscripts

5. 测试sendEmail发送邮件(与步骤六二选一)

#命令行测试如下命令:# sendEmail -f from@163.com -t [email protected] -s smtp.163.com -u ‘test‘ -o message-content-type=html -o message-charset=utf8 -xu from@163.com -xp ‘passwd‘ -m ‘test‘
# 出现一下提示证明命令安装正确:Dec 24 23:01:59 zabbix sendEmail[3612]: Email was sent successfully!
# 收到此提示表示发送成功
# -f from@163.com                    # 发件人邮箱地址
# -t [email protected]                     # 收件人邮箱地址
# -s smtp.163.com                   # 发件人邮箱的smtp服务器地址
# -u ‘test‘                      # 邮件标题
# -o message-content-type=html             # 邮件内容格式为html
# -o message-charset=utf8               # 邮件内容编码为utf8
# -xu from@163.com                  # 发件人邮箱登录用户名
# -xp ‘passwd‘                    # 发件人邮箱登录密码
# -m ‘test‘                      # 邮件内容
# 编写邮件警报脚本
vim /usr/local/zabbix/alertscripes/sendEmail.sh
#!/bin/bash
to=$1
subject=$2
message=$3
smtp_server="smtp.163.com"
/usr/local/bin/sendEmail -f from@163.com -t "$to" -s "$smtp_server" -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu from@163.com -xp "passwd" -m "$message"
chmod +x sendEmail.sh
chown zabbix.zabbix sendEmail.sh

6. 使用163代理发送邮件(与步骤五二选一)

yum install -y mailx
# 在文件最下方加入两行163认证即可
vim /etc/mail.rc
# 设置发件人地址,smtp服务器
set from[email protected]163.com smtp=smtp.163.com
# 设置发件人smtp认证用户名和密码(由于163开启smtp后这里设置的是授权码而非登录密码)
set [email protected]163.com smtp-auth-password=密码 smtp-auth=login
# 测试邮件发送
mail -s ‘test‘ [email protected] < /etc/passwd
#  编写脚本
vim /usr/local/zabbix/alertscripes/mail.sh

#!/bin/bash
echo "$3"|mail -s "$2"  "$1"

chmod +x /usr/local/zabbix/alertscripes/mail.sh

原文地址:https://www.cnblogs.com/kaishirenshi/p/8966799.html

时间: 2024-09-30 18:51:46

使用sendmail来发邮件的相关文章

Linux主从同步监测和利用sendMail来发邮件

首先介绍下sendMail About SendEmailSendEmail 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,

python实现发邮件(sendmail.py )

#!/usr/bin/python #-*-coding:utf-8-*- #-*-coding:utf-8-*- #filename :sendmail.py import sys import smtplib from email.mime.text import MIMEText from email.header import Header from email.mime.multipart import MIMEMultipart from email import Utils imp

CentOS 6.6使用sendmail登陆第三方邮件系统发邮件

sendmail如何设置第三方服务器发邮件 yum install sendmail 2.停止postfix邮件服务,(系统默认打开,占用25端口) #service postfix stop 3.修改配置文件,添加5行 set 有关内容 #vim /etc/mail.rc # Outgoing messages are sent in ISO-8859-1 if all their characters are # representable in it, otherwise in UTF-8

Linux 通过sendmail 发邮件到外部邮箱

Linux 通过sendmail 发邮件到外部邮箱 最近在写自动化巡检脚本,想着怎么预警后自动发送邮件报警. 首先下载最新版本mailx-12.4.tar.bz2 # wget http://sourceforge.net/projects/heirloom/files/latest/download?source=files 解压包: # tar jxvf mailx-12.4.tar.bz2 # cd mailx-12.4 # make # make install UCBINSTALL=/

sendMail 发邮件 tls

这个sendMail是一个用perl写的脚本 . 可以看它的帮助信息 [[email protected] fupeng]# ./sendEmail 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

Windows下配置Sendmail通过php mail函数发邮件

两种php发信方式 在许多php程序中通常都需要发邮件比如discuz需要选择sendmail发信,wordpress评论回复需要发信,然而发送邮件则有两种不同的方式.一是直接通过php中的mail()函数进行发信,而则是通过写一些程序来通过stmp服务来进行发信. 前者需要程序所在服务器的支持,通常linux服务器大多有这项服务.比如之前我用的Godaddy主机就可以进行发信,但是国内主机服务商则基本不带这个函数的支持.因为在这个垃圾邮件横行霸道的年代,服务器提供商则索性关闭这个函数的使用,所

CentOS 6x 关于sendmail发邮件问题

sendmail如何设置第三方服务器发邮件 yum install sendmail 2.修改配置文件,添加5行 set 有关内容 vim /etc/mail.rc # Outgoing messages are sent in ISO-8859-1 if all their characters are # representable in it, otherwise in UTF-8. set sendcharsets=iso-8859-1,utf-8 set [email protecte

linux ci 发邮件 sendmail

发邮件的困难: 2015/3/12 15:54 tail -f /var/log/maillog : NOQUEUE: SYSERR(apache): can not chdir(/var/spool/clientmqueue/): Permission denied sudo chown smmsp:smmsp /var/spool/clientmqueue sudo /usr/sbin/usermod -G smmsp -g apache apache 重启apache,也还是不行.. ma

Linux发邮件之mail

1.安装 (需要sendmail或postfix服务) sendmail     # yum install sendmail      # systemctl start sendmail.service     # systemctl status sendmail.service postfix     # yum install mailx     # systemctl start postfix.service     # systemctl status postfix.servi