Bonjour,

Voici mon problème :
Je permet l'envoie des mails via une application que je développe dans le but de m'entrainer.
L'envoi des mails marche très bien (en même temps j'ai rien inventé :-) ).
Sur mon application j'ai ajouté une fenêtre pour le paramétrage de la connexion au serveur SMTP.

Je fais le test suivant :
Je configure correctement l'adresse du serveur SMTP (exemple : smtp.live.com) et j'envoie le mail => OK, le mail est envoyé
Je modifie l'adresse (smtp.toto.com) et j'envoie le mail => KO, le mail est envoyé alors que je m'attendais à avoir une erreur.
Je ferme l'application.
Je relance l'application sans modifier les paramètres (on a donc toujours smtp.toto.com en base) et j'envoie le mail => OK le mail n'est pas envoyé j'ai bien mon message d'erreur.

Voici mon code (j'ai ajouté mes constations en commentaires) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
   public void envoyerEmail() throws Exception{
        Properties props = new Properties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.host", SMTP_HOST_NAME);        //Ici j'ai bien la valeur attendue soit smtp.live.com soit smtp.toto.com
        props.put("mail.smtp.port", SMTP_PORT);
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable","true"); 
        props.put("mail.smtp.EnableSSL.enable","true");
 
        Authenticator auth = new SMTPAuthenticator();
        Session mailSession = Session.getDefaultInstance(props, auth);
 
        System.out.println("=>mailSession.getProperty : "+mailSession.getProperty("mail.smtp.host"));   //Ici je n'ai pas la valeur attendue, c'est toujours l'ancienne si je   ne relance pas l'application
 
        // uncomment for debugging infos to stdout
        mailSession.setDebug(true);
        Transport transport = mailSession.getTransport();
 
        MimeMessage message = new MimeMessage(mailSession);
 
        Multipart multipart = new MimeMultipart("alternative");
 
        BodyPart part1 = new MimeBodyPart();
        part1.setText("Hello, juste un petit test");
 
        BodyPart part2 = new MimeBodyPart();
        part2.setContent("Hello, juste un petit test", "text/html");
 
        multipart.addBodyPart(part1);
        multipart.addBodyPart(part2);
 
        message.setContent(multipart);
        message.setFrom(new InternetAddress(SMTP_AUTH_USER));
        message.setSubject("Hello, juste un petit test");
        message.addRecipient(Message.RecipientType.TO,
             new InternetAddress(EMAIL_DESTINATAIRE));
 
        transport.connect();
        transport.sendMessage(message,
            message.getRecipients(Message.RecipientType.TO));
        transport.close();
    }
Je pense que c'est cette ligne qui fait que j'obtiens toujours la même valeur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Session mailSession = Session.getDefaultInstance(props, auth);
Comment puis-je faire pour que la nouvelle soit bien prise en compte?

Merci d'avance.