gopkg.in/gomail.v2包发送邮件报dial tcp i/o timeout错误
今天收到同事的求助电话,问题出现的场景是在本地调试及发布到本地测试服务器的时候,用gopkg.in/gomail.v2包发送邮件成功。但是给用户部署到正式服务器的时候报错发送不成功。
报错json返回如下:
初步猜测tcp连接上图网络不成功。
解决:
第一,展实error信息,fmt出来错误看看,错误信息如下dial tcp * i/o timeout。连接超时。
第二,服务器ping对应的ip,成功。
第三,telnet ip+端口25,失败。
第四,查看126文档,发现smtp对应的ssl端口为465/994,非ssl端口为25.
第五,telnent ip+端口465,成功。
第六,更改程序配置,修改端口为465,测试发送邮件,成功!
猜测应该跟服务器安全策略有关。做个笔记记录一下,希望对遇到同样问题的同学有帮助。