IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Envoi mail via GMail : interférence avec une servlet SSL


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Envoi mail via GMail : interférence avec une servlet SSL
    Hello,

    Je bute depuis des heures sur un problème:

    J'ai une application SWING qui se connecte à une servlet.
    Cette application arrive par ailleurs à envoyer sans problème des mails avec un compte SMTP de gmail.

    Mais depuis que j'ai modifié la servlet pour qu'elle utilise un certificat SLL les mails ne passent plus ! J'arrive à me connecter à la servlet sans problème mais j'ai maintenant une erreur lors de l'envoi du mail : "Could not connect to SMTP host: smtp.gmail.com, port: 25" alors que j'utilise bien (et que je dois) le port 465 !

    Le seul lien que je vois est que pour la liaison à la servlet et pour l'envoi du mail je dois utiliser javax.net.ssl.SSLSocketFactory pour la gestion du SSL.

    J'ai l'impression que le réglage que j'ai fait pour la connexion à la servlet avec certificat interfère ensuite pour l'envoi du mail.

    réglage pour la servlet :

    System.setProperty("javax.net.ssl.trustStore", keystore);
    System.setProperty("javax.net.ssl.trustPassword", "987456");
    System.setProperty("javax.net.ssl.trustStorePassword", "987456");

    réglage pour gmail :

    props.put("mail.smtp.socketFactory.port", 465);
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.auth", "true");

    J'ai essayé de désactiver les réglages de la servlet juste avant d'envoyer le mail en faisant ça :

    System.setProperty("javax.net.ssl.trustStore", "");
    System.setProperty("javax.net.ssl.trustPassword", "");
    System.setProperty("javax.net.ssl.trustStorePassword", "");

    Mais ça marche pas :-(((

    Quelqu'un a une idée ?

    Par avance merci...

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Points : 10
    Points
    10
    Par défaut C'est bon j'ai trouvé
    Pas de réponse ?
    Pas grave j'ai trouvé.
    Je vous livre la solution pour ceux que ça intéresse:

    J'utilisais le DefaultSSLSocketFactory. Donc ça agissait pour tout ce qui était lié au SSL dans l'application : connexion aux servlet + envoi des mails.

    La solution était de créer un SocketFactory spécifique pour la connexion aux servlets. Du coup ça n'interfère plus avec les mails.

    Le bout de code pour créer un socketFactory :

    String keystoreFile = "le chemin du fichier keystore";
    FileInputStream fileInputStream = new FileInputStream(new File(keystoreFile));
    KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
    keyStore.load(fileInputStream, "le mot de passe".toCharArray());
    fileInputStream.close();
    TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
    tmf.init(keyStore);
    SSLContext ctx = SSLContext.getInstance("TLS");
    ctx.init(null, tmf.getTrustManagers(), null);
    socketFactory = ctx.getSocketFactory();

    J'y ai passé la journée

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Envoi mail via smtp avec pièce jointe
    Par zibi7 dans le forum Contribuez
    Réponses: 4
    Dernier message: 05/08/2009, 16h43
  2. Envoi mail via une liste de contact
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/10/2007, 15h55
  3. Interroger les valeur d1 [ javabean ] avec une [ servlet ]
    Par jmeclipse dans le forum Servlets/JSP
    Réponses: 21
    Dernier message: 07/06/2005, 12h14
  4. [MAIL] comment en envoyer depuis une servlet ?
    Par outreal dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 09/07/2004, 11h17
  5. Réponses: 2
    Dernier message: 29/03/2004, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo