阿里云/腾讯云屏蔽25端口通过465端口发送邮件(zabbix邮件配置)

买了一台腾讯云ECS 准备做zabbix监控邮件报警,发现25号端口被屏蔽了,申请开通也失败,然后只能绕过25号端口,走465 ssl端口发邮件了。

步骤如下:
注意点:如果你们用的是企业邮箱,请改正一下你的邮箱smtp的地址;

首先请求数字证书

root@PLAY ~]# mkdir -p /root/.certs/ ####创建目录,用来存放证书
[root@PLAY ~]# echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p’ > ~/.certs/126.crt ####向126请求证书

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

[root@PLAY ~]# certutil -A -n “GeoTrust SSL CA” -t “C,” -d ~/.certs -i ~/.certs/126.crt ####添加一个证书到证书数据库中
[root@PLAY ~]# certutil -A -n “GeoTrust Global CA” -t “C,” -d ~/.certs -i ~/.certs/126.crt ####添加一个证书到证书数据库中
[root@PLAY ~]# certutil -L -d /root/.certs ####列出目录下证书
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
GeoTrust SSL CA C,

vim /etc/mail.rc 文件中的配置:

然后前往126邮箱打开smtp并获取客户端授权码
网页正上方:设置→POP3/SMTP/IMAP
 
网页左侧:客户端授权密码

vim /etc/mail.rc 文件中的配置:
最后配置/etc/mail.rc

set bsdcompat
set [email protected]
set smtp=smtps://smtp.163.com:465
set [email protected]
set smtp-auth-password=授权密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

echo “test mail” | mail -s “zabbix report” [email protected]
此时[email protected]收件箱就收到一封刚刚发的邮件了

看起来已经成功了,但是发送完邮件还有报错:证书不被信任,且命令行就此卡住,需要按键才能出现命令提示符

Error in certificate: Peer’s certificate issuer is not recognized.
翻译:证书错误:无法识别Peer的证书颁发者。

解决方法:

[root@PLAY ~]# cd /root/.certs/
[root@PLAY .certs]# ll
total 80
-rw-r–r-- 1 root root 1793 Jul 6 14:36 126.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 126.crt
Notice: Trust flag u is set automatically if the private key is present

-----------------------------------如上步骤 服务器发送邮件问题就解决了--------------------------------------------

还没完呢!!!! 在zabbix_web端 配置邮件报警都没问题,出现故障也显示发送了,但是就是没有收到邮件是怎么回事呢?(琢磨了一下午 )

如下图所示:
阿里云/腾讯云屏蔽25端口通过465端口发送邮件(zabbix邮件配置)_第1张图片

465发送邮件报错解决

使用465发送邮件的时候,脚本报错了。 报错如下

Error initializing NSS Unknown error -8015.

但是手动发送就不报异常,并且可以收到邮件。
如:echo 123 | mail -s “123123” [email protected]

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

上边已经说的非常详细了,是权限问题:

将/root/.certs目录 复制到/tmp下并且分配777权限

cp  -a  /root/.certs   /tmp 
chmod 777 -R /tmp

修改./certs 位置

set bsdcompat
set [email protected]
set smtp=smtps://smtp.163.com:465
set [email protected]
set smtp-auth-password=授权密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/tmp/.certs
#set nss-config-dir=/root/.certs

测试一下看看吧
在这里插入图片描述
激动心,颤抖的手 终于好了~~~~

希望可以帮助到您!!!!!

博客里面还有其它技术文章,可以移驾看下 点击这里

产考文章 :
https://blog.csdn.net/qq_42859864/article/details/84862264

https://blog.csdn.net/qq_42859864/article/details/84862977

https://www.cnblogs.com/yunweis/p/8149242.html

https://blog.csdn.net/qq_30745039/article/details/83189216

https://blog.51cto.com/12226796/2440359?source=dra --zabbix邮件报警

https://www.deaboway.com/centos7-sendmail-configuration.html

https://blog.csdn.net/weixin_33691817/article/details/93009954 ssl + 465 数字证书

https://www.cnblogs.com/yunweis/p/8149242.html 465

https://www.cnblogs.com/yunweis/p/8149242.html

https://blog.csdn.net/weixin_33691817/article/details/93009954

你可能感兴趣的:(阿里云/腾讯云屏蔽25端口通过465端口发送邮件(zabbix邮件配置))