2011-06-17 9 views
0

カスタムSSLFactoryクラスを使用して、メールサーバー上の自己署名証明書の問題を回避する必要があります。私は次の設定を使用しようとしており、Gmailのためにうまく動作します。しかし私が私のメールサーバに切り替えると、それ以上動作しなくなり、wiresharkでエラーが発生するTLSv1レコード層:アラート(レベル:致命的、説明:証明書不明)。カスタムのsslfactory(の代わりにjavax.net.ssl.SSLSocketFactory)を設定しようとしましたが、この変更が影響を受けていないようです。JavaMailSenderImplのの動作です。org.springframework.mail.javamail.JavMailSenderImplでカスタムSSLSocketFactoryクラスを使用する方法

メールサーバーはsmtpsプロトコルをサポートしており、認証が必要です。

<bean id="userAuthorizationManager" class="com.mypackage.manage.SimpleUserAuthorizationManagerImpl"> 
    <property name="mailSender" ref="mailSender" /> 
    <property name="velocityEngine" ref="velocityEngine" /> 
    <property name="from" value="address" /> 
    <property name="authorizationAddress" value="some text" /> 
    <property name="subject" value="some text" /> 
</bean> 

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
    <property name="host" value="smtp.gmail.com" /> 
    <property name="port" value="465" /> 
    <property name="username" value="user" /> 
    <property name="password" value="pass" /> 
    <property name="protocol" value="smtps" /> 

    <property name="javaMailProperties"> 
     <props> 
      <prop key="mail.smtp.auth">true</prop> 
      <prop key="mail.smtp.connectiontimeout">5000</prop> 
      <prop key="mail.smtp.sendpartial">true</prop> 
      <prop key="mail.smtp.userset">true</prop> 
      <prop key="mail.mime.charset">UTF-8</prop> 
      <prop key="mail.smtp.isSecure">true</prop> 
      <prop key="mail.smtp.requiresAuthentication">true</prop> 
      <prop key="mail.smtp.port">465</prop> 
      <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop> 
      <prop key="mail.smtp.socketFactory.fallback">false</prop> 
      <prop key="mail.smtp.starttls.enable">true</prop> 
      <prop key="mail.debug">true</prop> 
     </props> 
    </property> 
</bean> 

<bean id="velocityEngine" 
     class="org.springframework.ui.velocity.VelocityEngineFactoryBean"> 
    <property name="velocityProperties"> 
     <value> 
      resource.loader=class 
       class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 
     </value> 
    </property> 
</bean> 

他に必要な場合は、喜んで提供します。

ご協力いただければ幸いです。

よろしく、最後に Tiho

答えて

1

私は解決策を見つけました。私は間違いをした。代わりにstmps

あなたは私の質問に見ることができるように私がプロトコルとしてSMTPSを使用しながら、私は、プロパティのキー名にSMTPを使用。

よろしくお願いします。 Tiho

関連する問題