Bonjour,

Lorsque j'envoi un email les accents ne sont pas bien représentés.

En fait, dans le "sujet" de l'email pas de problème les accents sont bien là.

Et bizarre, ce problème n'apparait pas si j'envoie vers une adresse gmail...

J'ai essayé avec du texte brut, du texte en html...pareil.
J'ai essayé en forçant l'encodage en UTF-8 avec ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
messageBodyPart.setContent(emailText.getBytes(StandardCharsets.UTF_8), "text/html");
Une idée ?

Merci d'avance.

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 
    public static boolean envoiEmail(String emailDest, String sujet, String emailText, String...fichiers){
        boolean result = false;
        String MAILER_VERSION = "JavaMail 1.6.1";
 
        if(fichiers.length > 0){
            for (int i = 0; i < fichiers.length; i++) {
                Str.println("fichier[" + i + "] = " + fichiers[i]);            
            }
        }
 
        try {
            FileDataSource datasource1;
            DataHandler handler1;
 
            Properties prop = System.getProperties();
            prop.put("mail.smtp.host", Options.serveurSmtp);
 
            prop.setProperty("mail.smtp.auth", "false");
 
            Session session = Session.getDefaultInstance(prop,null);
            session.setDebug(false);
 
            InternetAddress[] internetAddresses = new InternetAddress[1];
            internetAddresses[0] = new InternetAddress(emailDest);
 
            MimeMessage message = new MimeMessage(session);
 
            message.setFrom(new InternetAddress(Options.entreprise.getProEmail(), Options.entreprise.getNom()));
            message.setSender(new InternetAddress(Options.entreprise.getProEmail()));
            message.setRecipients(Message.RecipientType.TO,internetAddresses);
 
            message.setSubject(MimeUtility.encodeText(sujet, "UTF-8", "Q"));
 
            message.setHeader("X-Mailer", MAILER_VERSION);
            message.setSentDate(new Date());
 
            // creates message part
            MimeBodyPart messageBodyPart = new MimeBodyPart();
            messageBodyPart.setContent(emailText, "text/html");
 
            // creates multi-part
            Multipart multipart = new MimeMultipart();
            multipart.addBodyPart(messageBodyPart);
 
            // adds attachments
            for (String fichier : fichiers) {
                if (fichier.length() > 0) {
                    datasource1 = new FileDataSource(fichier);
                    handler1 = new DataHandler(datasource1);
                    MimeBodyPart attachPart = new MimeBodyPart();
                    attachPart.setDataHandler(handler1);
                    attachPart.setFileName(datasource1.getName());
                    multipart.addBodyPart(attachPart);
                }
            }
 
            // sets the multi-part as e-mail's content
            message.setContent(multipart);
 
            Transport.send(message);
            result = true;
 
        } catch (MessagingException ex) {
            Str.printlnForcé(ex.getMessage() + "\n\nemailDest = " + emailDest);
        } catch (UnsupportedEncodingException ex) {
            GuiUserCom.erreur(ex);
        }
        return result;
    }