KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > rcp > exceptionhandler > wizard > ErrorReportSenderEMail


1 /*
2  * Created on 04.04.2005
3  */

4 package com.nightlabs.rcp.exceptionhandler.wizard;
5
6 /**
7  * @author Simon Lehmann - simon@nightlabs.de
8  */

9
10 import java.util.Iterator JavaDoc;
11 import java.util.Properties JavaDoc;
12 import javax.mail.*;
13 import javax.mail.internet.InternetAddress JavaDoc;
14 import javax.mail.internet.MimeMessage JavaDoc;
15
16 import org.apache.log4j.Logger;
17
18 import com.nightlabs.config.Config;
19
20 public class ErrorReportSenderEMail implements ErrorReportSender
21 {
22     public static final Logger LOGGER = Logger.getLogger(ErrorReportSenderEMail.class);
23
24     public ErrorReportSenderEMail()
25     {
26         super();
27     }
28
29     /**
30      * @see com.nightlabs.exceptiontest.wizard.ErrorReportSender#sendErrorReport(com.nightlabs.exceptiontest.wizard.ErrorReport)
31      */

32     public void sendErrorReport(ErrorReport errorReport)
33     {
34         try {
35             ErrorReportEMailCfMod cfMod = (ErrorReportEMailCfMod) Config.sharedInstance().createConfigModule(ErrorReportEMailCfMod.class);
36             Properties JavaDoc props = new Properties JavaDoc();
37             props.put("mail.host", cfMod.getSmtpHost());
38 // props.put("mail.from", cfMod.getMailFrom());
39

40
41             Session mailConnection = Session.getInstance(props, null);
42             Message JavaDoc msg = new MimeMessage JavaDoc(mailConnection);
43             Address JavaDoc mailFrom = new InternetAddress JavaDoc(cfMod.getMailFrom());
44             //Address simon = new InternetAddress("simon@nightlabs.de", "Simon Lehmann");
45

46             //msg.setContent();
47
msg.setText(errorReport.toString());
48             msg.setFrom(mailFrom);
49             
50             
51 // for (int i= 0; i < cfMod.getMailTo().size(); i++)
52
// {
53
// msg.addRecipient(Message.RecipientType.TO, new InternetAddress((String)cfMod.getMailTo().get(i)));
54
// System.out.println(cfMod.getMailTo().get(i));
55
// }
56
// Iterator it = cfMod.getMailTo().iterator();
57
// while(it.hasNext())
58
// msg.setRecipient(Message.RecipientType.TO, new InternetAddress((String)it.next()));
59

60             for(Iterator JavaDoc it2 = cfMod.getMailTo().iterator(); it2.hasNext();)
61                 msg.addRecipient(Message.RecipientType.TO, new InternetAddress JavaDoc((String JavaDoc)it2.next()));
62             
63             
64             
65             msg.setSubject(errorReport.getThrownException().getClass().getName() + " " + errorReport.getCurrentTimeAsString());
66             
67
68             Transport.send(msg);
69             System.out.println("Message was sent!");
70         } catch (Exception JavaDoc e) {
71             LOGGER.fatal("Sending error report by eMail failed.", e);
72         }
73     }
74
75 }
76
Popular Tags