在发送邮件时报下面的错误

 

Java代码 复制代码 收藏代码
  1. javax.mail.MessagingException: 500 Error: bad syntax
  2.  
  3. at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1363)
  4. at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:838)
  5. at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:375)
  6. at javax.mail.Service.connect(Service.java:275)
  7. at javax.mail.Service.connect(Service.java:156)

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:275)
        at javax.mail.Service.connect(Service.java:156)

 

 

原因:

 

首先取得当前主机的主机名

>hostname
xxxx (xxxx为hostname例如 myhostname)
可以得到 linux的主机名
>hostname -i
却得不到ip

当调用到下面的代码时会报错

 

Java代码 复制代码 收藏代码
  1. InetAddress localHost = InetAddress.getLocalHost();
  2. localHostName = localHost.getHostName();

InetAddress localHost = InetAddress.getLocalHost();
localHostName = localHost.getHostName();

解决方法:

在/etc/hosts文件中加入

127.0.0.1 xxxx