Printemps JavaMailSenderImpl ne fonctionne pas avec SSL

Java Simple client de Messagerie fonctionne bien avec un serveur de messagerie en cours d'exécution sur SSL. Mais le même serveur ne fonctionne pas lorsque utilisé à partir du Printemps JavaMailSenderImpl classe. Aussi thunderbird fonctionne bien le serveur de messagerie. Mais, le printemps a des problèmes.

Voici l'original du Code Java qui fonctionne très bien.

    final String username = "[email protected]";
    final String password = "password";

    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtps.ssl.checkserveridentity", "true");
    props.put("mail.smtps.ssl.trust", "*");
    props.put("mail.smtp.host", "server.com");
    props.put("mail.smtp.port", "587");

    Session session = Session.getInstance(props,
      new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
      });

    try {

        Message message = new MimeMessage(session);

        message.setFrom(new InternetAddress("[email protected]"));

        message.setRecipients(  Message.RecipientType.TO, 
                                InternetAddress.parse("[email protected]"));

        message.setSubject("Testing Subject");
        message.setText("Dear Mail Crawler, \n\n No spam to my email, please!");

        Transport.send(message);

        System.out.println("Done");

    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }

ici est la applicationContext.xml que contient la configuration des e-mails,

    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="javaMailProperties">
            <props>
                    <prop key="mail.smtp.starttls.enable">true</prop>
                    <prop key="mail.smtp.auth">true</prop>
                    <prop key="mail.smtps.ssl.checkserveridentity">true</prop>
                    <prop key="mail.smtps.ssl.trust">*</prop>
            </props>
        </property>
        <property name="username"  value="[email protected]" />
        <property name="password"  value="password" />
        <property name="port"><value>587</value></property>
        <property name="protocol"><value>smtp</value></property>
        <property name="host" value="server.com"/>          
</bean>

Quelle est la bonne façon de configurer le Printemps JavaMailSenderImpl ?

Toute aide serait grandement appréciée.

Simplement comme un exemple de la façon de configurer le JavaMailSenderImpl à utiliser smtps et STARTTLS, c'est en fait très utile. Il compense les lacunes dans la documentation officielle.
où est le lien entre ur id = 'mailSender" dans votre code java?

OriginalL'auteur Nambi | 2013-05-22