一 环境准备
系统环境:CentOS 7.4
邮箱类型:腾讯邮箱
PS1:首先要保证你的腾讯邮箱开启了SMTP服务。
PS2:阿里云465端口要开放
二 安装mailx
yum -y install mailx
三 配置mail.rc文件
vi /etc/mail.rc
#你的邮箱账号
set from=*****@qq.com
#邮箱所在服务器和端口地址
#set smtp=smtps://smtp.exmail.qq.com:465#阿里云报错,收不到邮件
#set smtp=smtp.qq.com #阿里云收不到邮件
#set smtp=smtps://smtp.qq.com:465 #正常收到邮件,有错误输出
set smtp=smtps://smtp.qq.com #正常收到邮件,有错误输出
#邮箱
set smtp-auth-user=******@qq.com
#授权码
set smtp-auth-password=****
#默认login即可
set smtp-auth=login
#ssl认证方式
set ssl-verify=ignore
#证书所在目录,这个可以自定义目录所在位置
set nss-config-dir=/data/mail/certs
四 配置数字证书
[root@izwz9hcixm5361yy4uz40az ~]# mkdir -p /data/mail/certs
[root@izwz9hcixm5361yy4uz40az ~]# cd /data/mail/certs
####请求证书
[root@izwz9hcixm5361yy4uz40az certs]# echo -n | openssl s_client -connect smtp.exmail.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > qq.crt
####添加一个证书到证书数据库中
[root@izwz9hcixm5361yy4uz40az certs]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d /data/mail/certs/ -i /data/mail/certs/qq.crt
[root@izwz9hcixm5361yy4uz40az certs]# certutil -A -n "GeoTrust Global CA" -t "C,," -d /data/mail/certs/ -i /data/mail/certs/qq.crt
[root@izwz9hcixm5361yy4uz40az certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i /data/mail/certs/qq.crt
[root@izwz9hcixm5361yy4uz40az certs]# certutil -L -d /data/mail/certs/
五 发送测试邮件
echo "邮件测试" |mail -s "测试" xxx@qq.com
邮件能发送成功,但是有错误提示Error in certificate: Peer's certificate issuer is not recognized.
忽略错误
echo "邮件测试" |mail -s "测试" xxx@qq.com &>/dev/null
或者
echo "邮件测试" |mail -s "测试" xxx@qq.com 2>/dev/null
发送文件的另外几种格式
cat file.txt | mail -s "邮件主题" xxx@qq.com
mail -s "邮件主题" xxx@qq.com < file.txt
echo "邮件测试" |mail -s "测试" xxx@qq.com