本文共 1003 字,大约阅读时间需要 3 分钟。
公司由于用户量增加,一台服务器已经不能满足需求,因此又买了一台服务器,将项目部署到服务器上,结果发现用户使用邮箱注册收不到验证码,检查后发现是新服务器发送邮件时发生了错误,导致邮件发送失败,由于买的是阿里的云服务器ECS,网上说是由于25端口,阿里限制的原因,让改成80端口,修改后,本地测试没问题,部署到新linux服务器还是不行,折腾了一天多,后台发现是由于linux上配置不对的原因,由于项目封装导致很不容易找到错误提示信息,如下:
javax.mail.MessagingException: 500 Error: bad syntax问题
CentOS下发送电子邮件出错:javax.mail.MessagingException: 500 Error: bad syntaxat 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]# hostnameyun_app在/etc/hosts中添加一行127.0.0.1 yun_app再用下列命令查看,出来结果即正确[root@yun_app bin]# hostname -i127.0.0.1
参考博文:https://blog.csdn.net/zoubf/article/details/52160614