私はSpringMVCアプリを作成しており、applicationContext.xmlで構成されているJavaMailを使用しています。
私はpostfixをセットアップし、それをmacosで実行しています。
メールコマンドラインプログラムを使用して、postfix経由でメールを送信できます。
ただし、JavaMailを介して電子メールを送信しようとすると、読み取りタイムアウトの例外が発生します。
http://www.rdpslides.com/webresources/FAQ00035_Send_Email_via_Telnet.htmで説明されているように、telnet経由で電子メールを送信しようとしましたが、SMTPがまったく応答しません。コマンドを入力することはできますが、何も起こりません。
メールコマンドラインクライアントを使用することの何が特別なのかわかりませんが、問題なく動作します。
つまり、これは機能します(mattは私のローカルユーザー名です):
$ 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>
ありがとう。