JavaMail,mac上的postfix - 读取超时,邮件命令行工作

时间:2012-05-06 14:40:52

标签: email timeout javamail

我正在编写一个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>

感谢。

1 个答案:

答案 0 :(得分:0)

尝试使用“mail -v”进行命令行测试,看看它是否提供了任何线索。 mail命令可能是fork / execing sendmail所以它没有连接 通过locahost:25。检查你的postfix配置;听起来像你 连接telnet但是读取超时,而不是连接, 所以我不知道后缀可能在做什么。