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
Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part messageBodyPart.setContent(emailText.getBytes(StandardCharsets.UTF_8), "text/html");
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; }
Partager