Centos配置发送QQ邮件
主机版本信息
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core
貌似最新版的centos都自带mailx,没有的话可以使用yum -y install mailx
安装
注意点:
修改mailx的配置文件不需要重启mailx服务
配置文件修改
# 配置发件人的名字,这里需要注意的是需要和发件邮箱同名
# 如果要使用昵称的话得使用括号,如下面所示
set from=(MDY)xxx@qq.com
# 邮件服务器名称
set smtp=smtps://smtp.qq.com:465
# 发件人邮箱
set smtp-auth-user=xxx@qq.com
# 发件人邮箱的密码,这里需要使用QQ邮箱的授权码,并且QQ邮箱开启smtp功能
# 具体可以到QQ邮箱官网的设置-账号进行修改
set smtp-auth-password=xqvtylxermfkhefh
# 下面的配置没有看过相关文档,仅从网上摘抄下来,仅供参考
# 指定在验证服务器证书有效性时发生了错误该怎么处理
set ssl-verify=ignore
# 参数指定认证方式
set smtp-auth=login
# mailx 使用的是 NSS 密码学工具库,所以需要指定 NSS 的证书库
set nss-config-dir=/root/.certs
NSS证书生成,复制来源于此篇文章,解释具体各个过程的文章
mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
cd /root/.certs/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i qq.crt
certutil -L -d /root/.certs
最后使用echo "hello mail" | mail -s "hello" xxx@qq.com
测试一下是否配置成功吧,加参数-v可以查看发送过程详细的信息