在运维中我们需要设置linux服务器定时发送邮件,可以使用服务器的邮件发送功能。
自动发送邮件可以监控系统的运行情况,查看上一篇文章:
1.安装:
安装sendmail和mailx
yum -y install sendmail
yum -y install mailx
若已安装的可以通过命令查看: yum list sendmail mailx
2.设置发件人信息
配置sendmail配置文件 vi /etc/mail.rc
set bsdcompat
set from=XX.com.cn
set smtp=10.XX.XX.XX
set smtp-auth-user=XX.com.cn
set smtp-auth-password=*****
set smtp-auth=login
set from=邮箱
set smtp=指定邮箱使用的协议
set smtp-auth-user=用户名
set smtp-auth-password=密码
set smtp-auth=login
若使用qq邮箱,那么smtp-auth-password为邮箱的授权码,企业邮箱的话就是邮箱的登陆密码。
3.发送邮件
方式1:通过管道符直接发送
例子1:发送到邮箱内容为hello,world 标题为test
echo "hello,wjz" | mail -s "test" XXXcom.cn
如果想要邮件带附件发送,那么需要加-a参数
echo "hello,wjz" | mail -s "test" -a temp.txt XXXcom.cn
方式2:通过文件内容发送
mail -s "test" XXX.com.cn < linux_system_monitor.sh
脚本设置每一分钟发送一份邮件
root目录先建立task.txt文件:
123@qq.com
456@qq.com
798@qq.com
mail.sh脚本内容:
#!/bin/bash
for line in `cat /root/task.txt`
do
echo "每分钟的测试" | mail -s "test" ${line}
done
crontab -e
*/1 * * * * /root/mail.sh