我正在编写一个spring mvc app并使用在我的applicationContext.xml中配置的JavaMail。
我已经设置了postfix并让它在mac os上运行。
我可以使用邮件命令行程序通过postfix发送电子邮件。
然而,当我尝试通过JavaMail发送电子邮件时,我得到了一个读取超时异常。
尝试通过telnet发送电子邮件,如http://www.rdpslides.com/webresources/FAQ00035_Send_Email_via_Telnet.htm所述,但smtp根本没有响应。您可以输入命令,但最终不会发生任何事情。
我不知道使用mail命令行客户端有什么特别之处,但它工作正常。
即。这是有效的(亚光是我当地的用户名):
$ 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 :(得分:0)
尝试使用“mail -v”进行命令行测试,看看它是否提供了任何线索。 mail命令可能是fork / execing sendmail所以它没有连接 通过locahost:25。检查你的postfix配置;听起来像你 连接telnet但是读取超时,而不是连接, 所以我不知道后缀可能在做什么。