probleme avec la classe SMTPAppender
voila mon but est d envoyer un mail d'erreur avec des renseignements attachés a ce mail
pour cela j'utilise le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
pattern = "User : " + System.getProperty("user.name") + "%n";
pattern += "PC : " + InetAddress.getLocalHost().getHostName() + "%n"; // PC's name
pattern += "Date : %d{ISO8601}%n"; // date + time
pattern += "Milliseconds since the program start : %r%n"; // milliseconds since the program start
pattern += "Location : %l%n"; // location of event
pattern += "Messsage: %m%n"; // message
layout = new PatternLayout(pattern);
SMTPAppender smtpAppender = new SMTPAppender();
smtpAppender.setFrom(System.getProperty("user.name"));
smtpAppender.setSMTPHost("SMTPHub07.conti.de");
smtpAppender.setSubject("IP3 Error");
smtpAppender.setTo("uid30862");
smtpAppender.setLayout(layout);
smtpAppender.activateOptions();
errorLogger.addAppender(smtpAppender); |
le probleme c est que je souhaiterai aussi envoyer une piece jointe avec ce mail (image). Ca j'arrive a le faire avec cette partie de code :
Code:
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
| //send mail
Multipart multipart = new MimeMultipart();
//Mail and server proprieties
Properties prop = System.getProperties();
prop.put("mail.smtp.host", "SMTPHub07.conti.de");
Session session = Session.getDefaultInstance(prop,null);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(System.getProperty("user.name")));
InternetAddress[] internetAddresses = new InternetAddress[1];
internetAddresses[0] = new InternetAddress(mailto);
message.setRecipients(Message.RecipientType.TO,internetAddresses);
message.setSubject("Test");
message.setHeader("X-Mailer", MAILER_VERSION);
// creation partie principale du message
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("blablabla");
multipart.addBodyPart(messageBodyPart);
// creation et ajout de la piece jointe
messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource("c:/data/plop.png");
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName("c:/data/plop.png");
multipart.addBodyPart(messageBodyPart);
// add two parts of mail
message.setContent(multipart);
//send logmail
Transport.send(message); |
Maintenant ce que je n'arrive pas à faire c'est d'avoir le corps du 1er mail avec la piece jointe du deuxieme....