1. 简介
    由于阿里云服务器关闭了25端口,而且官方不允许打开该端口,而且大部分邮件都是通过25端口,我以网易126邮箱为例,使用SSL下的465端口测试
  2. 添加请求数字证书
    依次完成以下命令
    【以下命令适合126邮箱,如果是163邮箱,请把脚本内容的126替换为163即可】
mkdir -p /root/.certs/                           ####创建目录,用来存放证书
echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/126.crt                    ####向126请求证书
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt                  ####添加一个SSL证书到证书数据库中
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt               ####添加一个Global 证书到证书数据库中
certutil -L -d /root/.certs                         ####列出目录下证书
  1. 配置发件人
    输入命令: vi /etc/mail.rc
    按如下图配置完成
    在这里插入图片描述
  2. 测试
    echo “Test” | mail -s “title” xxxxxxx@qq.com
    登陆收件人邮箱查看
    看似成功但是linux中报错:证书不被信任
    在这里插入图片描述
  3. 解决最后一个问题-----证书不被信任
    按以下命令依次输入
	cd /root/.certs/
	ll
	certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 126.crt 

【成功标志】:
在这里插入图片描述
6. 最后测试

	echo “test” | mail -s “title”  XXXXXXX@qq.com

发送成功截图:
在这里插入图片描述

  1. 存在的坑
    7.1 mailx 发送邮件出现的 “Unexpected EOF on SMTP connection” 问题
    解决办法
    进入到 vi /etc/mail.rc,修改配置文件:
    set smtp=smtps://smtp.126.com:465
    而不是:set smtp=smtp.126.com:465,网上很多人是这样写的,会提示报错
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐