01: package org.dbbrowser.util;
02:
03: import java.security.Security;
04: import java.util.Properties;
05: import javax.mail.Message;
06: import javax.mail.MessagingException;
07: import javax.mail.PasswordAuthentication;
08: import javax.mail.Session;
09: import javax.mail.Transport;
10: import javax.mail.internet.AddressException;
11: import javax.mail.internet.InternetAddress;
12: import javax.mail.internet.MimeMessage;
13:
14: /**
15: * Class used to send email
16: * @author amangat
17: *
18: */
19: public class MailManager {
20: /**
21: * Send an email
22: * @param from
23: * @param subject
24: * @param message
25: * @throws MailException
26: */
27: public static void sendEmail(String from, String subject,
28: String message) throws MailException {
29: ///Set up SSL provider as GMail requires SSL
30: Security
31: .addProvider(new com.sun.net.ssl.internal.ssl.Provider());
32:
33: //Set the properties
34: Properties props = new Properties();
35: props.put("mail.smtp.host", "smtp.gmail.com");
36: props.put("mail.smtp.auth", "true");
37: props.put("mail.debug", "true");
38: props.put("mail.smtp.port", "465");
39: props.put("mail.smtp.socketFactory.port", "465");
40: props.put("mail.smtp.socketFactory.class",
41: "javax.net.ssl.SSLSocketFactory");
42: props.put("mail.smtp.socketFactory.fallback", "false");
43:
44: //Create the session
45: Session session = Session.getDefaultInstance(props,
46: new javax.mail.Authenticator() {
47: protected PasswordAuthentication getPasswordAuthentication() {
48: return new PasswordAuthentication(
49: "dbbrowser@googlemail.com", "amkette");
50: }
51: });
52:
53: session.setDebug(true);
54:
55: Message msg = new MimeMessage(session);
56: try {
57: //If from is not blank, set sender address
58: if (from != null && (!"".equals(from))) {
59: msg.setFrom(new InternetAddress(from));
60: }
61:
62: InternetAddress[] recipient = new InternetAddress[1];
63: recipient[0] = new InternetAddress(
64: "dbbrowser@googlemail.com");
65:
66: msg.setRecipients(Message.RecipientType.TO, recipient);
67:
68: msg.setSubject(subject);
69: msg.setContent(message, "text/plain");
70:
71: //Send message
72: Transport.send(msg);
73: } catch (AddressException exc) {
74: throw new MailException(exc.getMessage());
75: } catch (MessagingException exc) {
76: throw new MailException(exc.getMessage());
77: }
78: }
79: }
|