公司由于用户量增加,一台服务器已经不能满足需求,因此又买了一台服务器,将项目部署到服务器上,结果发现用户使用邮箱注册收不到验证码,检查后发现是新服务器发送邮件时发生了错误,导致邮件发送失败,由于买的是阿里的云服务器ECS,网上说是由于25端口,阿里限制的原因,让改成80端口,修改后,本地测试没问题,部署到新linux服务器还是不行,折腾了一天多,后台发现是由于linux上配置不对的原因,由于项目封装导致很不容易找到错误提示信息,如下:
javax.mail.MessagingException: 500 Error: bad syntax问题
CentOS下发送电子邮件出错:
javax.mail.MessagingException: 500 Error: bad syntax
at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1363)
at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:838)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:375)
at javax.mail.Service.connect(Service.java:297)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)
解决办法如下:
首先在Linux命令行中查看hostname
[root@yun_app bin]# hostname
yun_app
在/etc/hosts中添加一行
127.0.0.1 yun_app
再用下列命令查看,出来结果即正确
[root@yun_app bin]# hostname -i
127.0.0.1
参考博文:https://blog.csdn.net/zoubf/article/details/52160614
版权声明:本文为u011159417原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。