阿里云腾讯云通过465端口发送邮件

腾讯云解封25端口官方文档:
https://cloud.tencent.com/document/product/213/40436
阿里云:
https://help.aliyun.com/knowledge_detail/56130.html?spm=a2c6h.12873639.0.0.17a26d83I2guMa&source=5176.11533457&userCode=czfmwdn3&type=copy

但是解封申请不一定通过,最好还是通过加密协议465端口发邮件:

以下操作在centos系统,其他系统大同小异。

请求数字证书

root@PLAY ~]# mkdir -p /root/.certs/                           ####创建目录,用来存放证书
[root@PLAY ~]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt ####向163请求证书
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = GeoTrust Inc., CN = GeoTrust SSL CA - G3
verify return:1
depth=0 C = CN, ST = Zhejiang, L = Hangzhou, O = "NetEase (Hangzhou) Network Co., Ltd", OU = MAIL Dept., CN = *.163.com
verify return:1
DONE
[root@PLAY ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt                  ####添加一个证书到证书数据库中
[root@PLAY ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt               ####添加一个证书到证书数据库中
[root@PLAY ~]# certutil -L -d /root/.certs                                                                                         ####列出目录下证书
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
GeoTrust SSL CA

然后前往163邮箱打开smtp并获取客户端授权码

网页正上方:设置→POP3/SMTP/IMAP
网页左侧:客户端授权密码

配置/etc/mail.rc

添加:

set from=17*******7@163.com
set smtp=smtps://smtp.163.com:465
set smtp-auth-user=1******7@163.com
set smtp-auth-password=邮箱授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

测试发送邮件

echo "test mail" | mail -s "test" 17*******7@163.com

登录邮箱会看到邮件已接收,如果发邮件报错:
Error in certificate: Peer's certificate issuer is not recognized.

执行:

 [root@PLAY ~]# cd /root/.certs/
[root@PLAY .certs]# ll
total 80
-rw-r--r-- 1 root root 1793 Jul 6 14:36 163.crt
-rw------- 1 root root 65536 Jul 6 14:37 cert8.db
-rw------- 1 root root 16384 Jul 6 14:37 key3.db
-rw------- 1 root root 16384 Jul 6 14:37 secmod.db
[root@PLAY .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
Notice: Trust flag u is set automatically if the private key is present.

解决

服务器技术交流群请加微信 YJZyjz