欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

阿里云ECS屏蔽25端口,官方建议使用465 SSL端口发送邮件

程序员文章站 2022-04-18 20:40:52
阿里云ECS VPC网络,搭建了zabbix,想通过三方邮件系统发送邮件,本机开虚拟机测试发邮件一切正常,到阿里ECS的时候邮件各种发不出去,到处找原因,最后度娘告诉了我真想,原来阿里把25端口屏蔽了。 尝试解封,呵呵...继续找度娘 谷哥,说是可以绕开25端口,用465端口,步骤如下(先不要操作, ......

阿里云ecs  vpc网络,搭建了zabbix,想通过三方邮件系统发送邮件,本机开虚拟机测试发邮件一切正常,到阿里ecs的时候邮件各种发不出去,到处找原因,最后度娘告诉了我真想,原来阿里把25端口屏蔽了。

尝试解封,呵呵...继续找度娘 谷哥,说是可以绕开25端口,用465端口,步骤如下(先不要操作,我在测试机上按一下步骤成功使用465发送了邮件,但阿里云上ecs貌似不需要这些步骤就可以直接使用465发成功):

阿里云ECS屏蔽25端口,官方建议使用465 SSL端口发送邮件阿里云ECS屏蔽25端口,官方建议使用465 SSL端口发送邮件

1、请求数字证书(这里使用126邮箱)

#创建目录,用于存放数字证书

mkdir -p /root/.certs

#向126请求证书

echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne '/-begin certificate-/,/-end certificate-/p' > ~/.certs/126.crt

打印如下内容:

depth=2 c = us, o = digicert inc, ou = www.digicert.com, cn = digicert global root ca
verify return:1
depth=1 c = us, o = digicert inc, ou = www.digicert.com, cn = geotrust rsa ca 2018
verify return:1
depth=0 c = cn, l = hangzhou, o = "netease (hangzhou) network co., ltd", ou = mail dept., cn = *.126.com
verify return:1
done

#增加一个证书到证书数据库中

certutil -a -n "geotrust ssl ca" -t "c,," -d ~/.certs -i ~/.certs/126.crt

#再增加一个证书到证书数据库中

certutil -a -n "geotrust global ca" -t "c,," -d ~/.certs -i ~/.certs/126.crt

#列出目录中的证书

certificate nickname trust attributes
ssl,s/mime,jar/xpi

geotrust ssl ca c,,

 

2、126邮箱打开smtp并获取客户端授权码,以及设置客户端授权密码

步骤:设置--pop3/smtp/imap  开启

     客户端授权密码       开启

3、若有如下报错(证书不被信任)

error in certificate: peer's certificate issuer is not recognized.

解决办法:

cd /root/.certs/

certutil -a -n "geotrust ssl ca - g3" -t "pu,pu,pu" -d ./ -i 126.crt 

显示内容:notice: trust flag u is set automatically if the private key is present.

4、如果以后要通过服务器直接发送邮件而不是通过zabbix来发邮件,可能会遇到一下问题,这里也做下记录:

革命先驱者:https://www.cnblogs.com/yunweis/p/8149242.html

发邮件报错如下:

error initializing nss unknown error -8015.
以root用户就可以发送,其他用户不行。 (由于上面的文章介绍,生成的证书目录放在了root下,这样会导致其他用户没有可读和执行权限)
解决办法是 将证书文件目录:certs/ 移动到一个755权限的地方即可。如/etc下 一定要保证其他用户有读取和执行的权限,否则其他用户无法发送邮件。

5、zabbix配置变更如下:

变更前:

阿里云ECS屏蔽25端口,官方建议使用465 SSL端口发送邮件

变更后:

阿里云ECS屏蔽25端口,官方建议使用465 SSL端口发送邮件

 

再次触发报警,邮件发送成功,以上步骤线下实测,结果ok。

但阿里云ecs只将做了第5步调整,就成功发送邮件。

 

未至精疲力尽,不要怨天尤人。昨日因,今日果。今日为,明日果也!