日期:2014-05-16  浏览次数:20718 次

linux机器上发送邮件的错误

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

?

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

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

?

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

解决方法:

在/etc/hosts文件中加入??

127.0.0.1??xxxx