Hop, encore un problème de javamail dont je n'ai pas trouvé la solution sur le net.
J'envoie des mails de la manière suivante (en gros, mon code est un peu plus compliqué mais pas en ce qui concerne l'envoi) :
Quand j'exécute mon code, les 4/5 du temps j'obtiens l'erreur suivante (au niveau du Transport.send()) :
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 Properties props = new Properties(); props.setProperty("mail.smtp.host", "mon_smtp"); Session mailSession = Session.getDefaultInstance(props, null); mailSession.setDebug(false); MimeMessage message = new MimeMessage(mailSession); message.setSubject("HTML mail with images"); message.setFrom(new InternetAddress("me@sender.com")); message.addRecipient(Message.RecipientType.TO, new InternetAddress("you@receiver.com")); MimeMultipart multipart = new MimeMultipart("related"); BodyPart messageBodyPart = new MimeBodyPart(); String htmlText = "<H1>Hello</H1><img src=\"cid:image\">"; messageBodyPart.setContent(htmlText, "text/html"); multipart.addBodyPart(messageBodyPart); messageBodyPart = new MimeBodyPart(); DataSource fds = new FileDataSource("C:\\images\\jht.gif"); messageBodyPart.setDataHandler(new DataHandler(fds)); messageBodyPart.setHeader("Content-ID","<image>"); multipart.addBodyPart(messageBodyPart); message.setContent(multipart); Transport.send(message);
Par contre, quand j'exécute en debug, l'erreur n'apparaît pas. Je suppose donc que le problème vient de quelque chose qui se passe trop rapidement, mais je ne vois pas du tout quoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3Could not connect to SMTP host: localhost, port: 25; nested exception is: java.net.ConnectException: Connection refused: connect
Si l'un d'entre vous a une idée, ça m'aiderait beaucoup !
Voilà, merci.
Résolu : Bon en fait j'ai trouvé une meilleure façon d'envoyer les mails :
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 Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.host", "mon_smtp"); Session mailSession = Session.getDefaultInstance(props, null); mailSession.setDebug(false); Transport transport = session.getTransport("smtp"); MimeMessage message = new MimeMessage(mailSession); message.setSubject("HTML mail with images"); message.setFrom(new InternetAddress("me@sender.com")); message.addRecipient(Message.RecipientType.TO, new InternetAddress("you@receiver.com")); MimeMultipart multipart = new MimeMultipart("related"); BodyPart messageBodyPart = new MimeBodyPart(); String htmlText = "<H1>Hello</H1><img src=\"cid:image\">"; messageBodyPart.setContent(htmlText, "text/html"); multipart.addBodyPart(messageBodyPart); messageBodyPart = new MimeBodyPart(); DataSource fds = new FileDataSource("C:\\images\\jht.gif"); messageBodyPart.setDataHandler(new DataHandler(fds)); messageBodyPart.setHeader("Content-ID","<image>"); multipart.addBodyPart(messageBodyPart); message.setContent(multipart); transport.connect(); transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO)); transport.close();
Partager