使用sendmail来发邮件

Posted 开始认识

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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

 

 

以上是关于使用sendmail来发邮件的主要内容,如果未能解决你的问题,请参考以下文章

用sendcloud来发邮件

Sendmail python 文件发送邮件

用LINUX的shell脚本来监测服务器 查看服务器是否存活

php 使用sendmail发送邮件

emlog_Sendmail邮件设置插件

如果在php网页加邮件发送代码