#### 0.安装mailx
yum -y install mailx
#### 1.qq开启SMTP服务并获取授权码

#### 2.请求数字证书
```bash
#创建证书目录
mkdir -p ~/.certs/
#获取smtp服务器的证书,截取证书部分并保存到文件~/cert/qq.crt里
echo -n|openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
#将证书添加到证书数据库
certutil -A -n "QQ SMTP CERT" -t "P,P,P" -d ~/.certs -i ~/.certs/qq.crt
```
echo -n是最后不换行,但是其实还有个功能就是自动截断io。
openssl用来连接smtp服务器获取证书。
sed匹配证书部分字符串。
certutil比较难懂,-A代表添加一个新证书到证书数据库,-n为自定义的证书名。-t表示trustTag,不太理解,可以具体看参考文献2和3。
#### 2.配置mail.rc
路径:/etc/mail.rc
加入以下信息:
```bash
#你的邮箱地址
set from=xxx@qq.com
##邮箱所在服务器和端口地址,不用改
set smtp=smtps://smtp.qq.com:465
#你的邮箱地址
set smtp-auth-user=xxx@qq.com
#上一步拿到的授权码:
set smtp-auth-password=xxx
#验证方式,不用改
set smtp-auth=login
#忽略ssl认证,不用改
set ssl-verify=ignore
#证书目录,即你上一步设置的证书目录
set nss-config-dir=
```
#### 3.发送邮件
1.mail -s '标题' 目的地邮箱
回车后输入正文,CTRL+D结束。
2.echo '内容'|mail -s '标题' 目的地邮箱
3.cat file|mail -s '标题' 目的地邮箱
4.mail -s '标题' -a 附件 目的地邮箱
**参考资料:**
1. https://www.practicemp.com/2018/07/mailx.html
2. [https://developer.mozilla.org/zh-CN/docs/NSS/tools/NSS_%E5%B7%A5%E5%85%B7_certutil](https://developer.mozilla.org/zh-CN/docs/NSS/tools/NSS_工具_certutil)
3. https://www.systutorials.com/docs/linux/man/1-certutil/
shell发送QQ邮件