配置QQ邮箱发邮件
1、这里使用了QQ邮箱的SMTP,需要做以下配置
2、qq邮箱通过生成授权码来设置密码
3、关闭服务器的sendmail服务,开启postfix服务
4、创建证书文件
root@zydatahadoop001 rundeck]# mkdir -p /root/.certs/
[root@zydatahadoop001 rundeck]# echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne \'/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p\' > ~/.certs/qq.crt
[root@zydatahadoop001 rundeck]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
[root@zydatahadoop001 rundeck]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
[root@zydatahadoop001 rundeck]# certutil -L -d /root/.certs
[root@zydatahadoop001 rundeck]# cd /root/.certs
5、在/etc/mail.rc 文件末尾添加以下
set from=自己的qqQQ@qq.com set smtp=smtp.qq.com set smtp-auth-user=自己的QQ #授权码 set smtp-auth-password=(自己的授权码) set smtp-auth=login set smtp-use-starttls set ssl-verify=ignore set nss-config-dir=/root/.certs注意:等号前后不能有空格
6、命令行验证邮件服务
[root@zydatahadoop001 rundeck]# echo hello word | mail -s " title" 自己的QQ@qq.com
此时qq会收到一封邮件
7、在所需调度脚本中加入以下内容
发邮件不带附件
EMAIL=qq邮箱1,qq邮箱2
echo -e"`date "+%Y-%m-%d%H:%M:%S"` : The current running $JOB_NAME job num is$RUNNINGNUM in 192.168.137.201 ......" | mail
-r"From: alertAdmin <发邮件的QQ@qq.com>"
-s"Warn: Skip the new$JOB_NAME spark job."${EMAIL}
发邮件带附件
EMAIL=qq邮箱1,qq邮箱2
echo -e"`date "+%Y-%m-%d%H:%M:%S"` : Please to check the fail sql attachement." | mailx
-r"From: alertAdmin <发邮件的QQ@qq.com>"
-a$FAILSQL_MONITOR_CURRENT/merge${CURRENT_TIME_SHORT}.log
-s"Critical:KSSH fail sql."${EMAIL}