cat /var/log/zabbix/zabbix_server.log
报错信息 :
17861:20191126:095352.805 failed to send email: cannot connect to SMTP server "mail.example.com": cannot resolve [mail.example.com]
17860:20191126:095421.102 failed to send email: Couldn't connect to server: Failed connect to smtp.163.com:25; Operation now in progress
本地测试邮件可以发送成功,部署在阿里云上,在安全组中配置了25端口的出入后还是不行。
final String smtpPort = "465";
prop.setProperty("mail.smtp.port", smtpPort);
prop.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
prop.setProperty("mail.smtp.socketFactory.fallback", "false");
prop.setProperty("mail.smtp.socketFactory.port", smtpPort);
也就是加入了SSL验证,测试,问题迎刃而解!
阿里云服务器封禁了25
注意 : 用465端口,要配置ssl
扩展-邮件服务端口
25端口(SMTP):25端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务所开放的,是用于发送邮件。
如今绝大多数邮件服务器都使用该协议。当你给别人发送邮件时,你的机器的某个动态端口(大于1024)就会与邮件服务器的25号端口建立一个连接,你发送的邮件就会通过这个连接传送到邮件服务器上,保存起来。
109端口(POP2):109端口是为POP2(Post Office Protocol Version 2,邮局协议2)服务开放的,是用于接收邮件的。
110端口(POP3):110端口是为POP3(Post Office Protocol Version 3,邮局协议3)服务开放的,是用于接收邮件的。
143端口(IMAP):143端口是为IMAP(INTERNET MESSAGE ACCESS PROTOCOL)服务开放的,是用于接收邮件的。
上面介绍的SMTP协议、POP2协议、POP3协议、IMAP协议都是不安全的协议。
若你采用SMTP协议发邮件,那么你发出的邮件从你的机器传到服务器的过程中,可能被黑客截取从而泄露。若你采用POP2或者POP3协议收取邮件,那么你的邮件从服务器传至你当前机器的过程可能被黑客截取从而泄露。
465端口(SMTPS):465端口是为SMTPS(SMTP-over-SSL)协议服务开放的,这是SMTP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。
995端口(POP3S):995端口是为POP3S(POP3-over-SSL)协议服务开放的,这是POP3协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。
993端口(IMAPS):993端口是为IMAPS(IMAP-over-SSL)协议服务开放的,这是IMAP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。
25:smtp是服务器用来接收和发送邮件的,客户端来发送邮件的。(这个端口是不能更改的)
110:是pop客户端用来接收邮件的
143:imap客户端用来接收邮件的
993:imap的加密端口
465:smtp的加密端口用来发送邮件的
587:另外的smtp端口也是用来发送邮件的
995:pop的加密端口客户端用来接收邮件的
2525:这个不是一个SMTP端口,有时候会用来代替587端口
另外网页收发邮件,一般是http 80端口,可以改成其他的
使用80端口发送邮件
https://blog.csdn.net/bai2010bingbing/article/details/79812435
-s smtp.qq.com:80 \
阿里云 Linux 启用465端口发送邮件
环境:阿里云 Linux Centos 7.4 x64
注:阿里云默认禁用25邮件端口,需要启动465端口加密进行邮件发送。
注:确保邮箱开启SMTP服务,POP3,并申请了密码。
注:确保已经安装mailx,sendmaill,dos2unix
1、编辑mail配置文件
vim /etc/mail.rc
启动ssl
set ssl-verify=ignore
邮箱账户
set from=xxxxxx@126.com
smtp邮箱类型
set smtp="smtps://smtp.126.com:465"
邮箱账户
set smtp-auth-user="xxxxxxx@126.com"
邮箱授权密码
set smtp-auth-password=xxxxxxx
login模式
set smtp-auth=login
指定文件目录
set nss-config-dir=/etc/pki/nssdb
2、重启邮箱服务器
systemctl restart sendmail
3、测试发送邮件
echo 内容 | mail -s "主题" 发送人邮箱地址
echo test | mail -s "test" 136×××@126.com
参考链接 :
原文链接:https://blog.csdn.net/xmfsamsara/article/details/79928368
https://blog.csdn.net/daqi1983/article/details/73369440
https://blog.csdn.net/cry1049208942/article/details/97183552
【腾讯云】记录一次Could not connect to SMTP host: smtp.163.com, port: 25的解决办法 :https://blog.csdn.net/qq_38410730/article/details/86538298
阿里云 Linux 启用465端口发送邮件 : https://developer.aliyun.com/article/654988
https://blog.csdn.net/weixin_30394981/article/details/98891932