2012-05-06 43 views
2

我正在寫一個spring mvc應用程序,並使用在我的applicationContext.xml中配置的JavaMail。JavaMail,mac上的postfix - 讀取超時,郵件命令行工作

我已經安裝了postfix並讓它在mac os上運行。

我可以使用郵件命令行程序通過postfix發送郵件。

但是,當我嘗試通過JavaMail發送電子郵件時,出現讀取超時異常。

嘗試通過telnet發送電子郵件,如http://www.rdpslides.com/webresources/FAQ00035_Send_Email_via_Telnet.htm所述,但smtp根本沒有響應。你可以輸入命令,但沒有結果發生。

我不知道使用郵件命令行客戶端有什麼特別之處,但工作正常。

即該作品(亞光是我的本地用戶名):

$ date|mail -s testing matt 

的applicationContext.xml:

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 

    <property name="host" value="localhost"/> 
    <property name="port" value="25"/> 
    <property name="protocol" value="smtp"/> 
    <property name="javaMailProperties"> 
     <props> 
      <prop key="mail.debug">true</prop> 
      <prop key="mail.debug.auth">true</prop> 
      <prop key="mail.smtp.timeout">2000</prop> 
      <prop key="mail.smtp.connectiontimeout">2000</prop> 
     </props> 
    </property> 
</bean> 

感謝。

回答

0

嘗試使用「mail -v」命令行測試,看看它是否提供任何線索。 郵件命令可能是fork/exemail sendmail,因此它不通過locahost:25連接 。檢查你的postfix配置;它聽起來像你 與telnet連接,但得到讀取超時,而不是連接, ,所以我不知道postfix可能會做什麼。