2014/01/07

JavaMail 遇到 MessagingException

使用JavaMail送信時,在開發的機器(WinXP)以及staging server(Ubuntu 11.04)上,都可以正常送出。但在正式server(CentOS 6.3)上,卻無法送出。檢視log file,發現有exception
javax.mail.MessagingException: 501 5.0.0 HELO requires domain address

關於這個exception,Oracle在官網上倒是有一些解說

回頭來瞭解SMTP protocol一下,參考了這一篇,猜測可能是OS沒有設domain name,用指令查了一下,果然是如此。所以問題不
在於OS,而應是安裝時有沒有去設domain name吧。
$ domainname
(none)


因為之後會deploy出去的環境,也不知道作業系統的管理者是不是會去設domain name,所以先從加property的方向來解決,看能不能work。


用這樣的方式,就可以正常送出mail了。
留個紀錄,以後如果再遇到,就不用找太久了。