前言
写定时脚本任务时,如何知道定时任务是否准确触发?使用邮箱发送
今天写脚本突然想到了邮箱配置,之前打过个人邮箱,但是那时根本没搞明白,现在来解决发邮件的问题
由于邮箱的安全性认证与公有云要求SMTP,如果没有授权会无法发送
实践
这里以QQ邮箱举例
1.获取QQ邮箱授权码
位于用户设置-->账号与安全-->SMTP
注意,授权码仅显示一次(但不是一次性的,可以重复使用),需要记录下来
2.配置mailx
#安装/升级mailx
yum install mailutils -y
echo >> /etc/mail.rc <<'EOF'
set nss-config-dir=/etc/pki/nssdb/
set smtp-user-starttls
set ssl-verify=ignore
#以上是公有云需要配置的加密方式
#set from=<需要与发送目标一致>
set from=123@qq.com
#set smtp=smtp邮件目标(不是直接的邮箱,是smtp邮箱)
set smtp=smtps://smtp.qq.com
#set smtp-auth-user=<授权邮箱用户>
set smtp-auth-user=123@qq.com
#SMTP授权码
set smtp-auth-password=<授权码>
set smtp-auth=login
EOF
3.共有云SMTP证书配置
没有这个证书SMTP接收端(qq邮箱)不接收
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/pki/nssdb/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d /etc/pki/nssdb/ -i /etc/pki/nssdb/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d /etc/pki/nssdb/ -i /etc/pki/nssdb/qq.crt
certutil -L -d /etc/pki/nssdb/
cd /etc/pki/nssdb/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt4.开放公有云端口
开放587端口,进行SMTP
5.测试
echo 'test'|mail -s ‘test’ 123@qq.com &>/dev/null
本文著作权归作者 [ wymm ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。

