[Yanel-commits] rev 47265 -
public/yanel/trunk/src/core/java/org/wyona/yanel/core/util
michi at wyona.com
michi at wyona.com
Wed Jan 27 10:25:38 CET 2010
Author: michi
Date: 2010-01-27 10:25:38 +0100 (Wed, 27 Jan 2010)
New Revision: 47265
Added:
public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/MailUtil.java
Log:
mail utility class added
Added: public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/MailUtil.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/MailUtil.java (rev 0)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/MailUtil.java 2010-01-27 09:25:38 UTC (rev 47265)
@@ -0,0 +1,62 @@
+package org.wyona.yanel.core.util;
+
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.log4j.Logger;
+
+/**
+ *
+ */
+public class MailUtil {
+ private static Logger log = Logger.getLogger(MailUtil.class);
+
+ public static final String STATUS = "status";
+ public static final String MESSAGE = "message";
+
+ /**
+ * @param from From address
+ * @param from To address
+ * @param subject Subject of email
+ * @param content Body of email
+ */
+ public static void send(String from, String to, String subject, String content) throws AddressException, MessagingException {
+ send(null, -1, from, to, subject, content);
+ }
+
+ /**
+ *
+ */
+ public static void send(String smtpHost, int smtpPort, String from, String to, String subject, String content) throws AddressException, MessagingException {
+ // Create a mail session
+ Session session = null;
+ if (smtpHost != null && smtpPort >= 0) {
+ java.util.Properties props = new java.util.Properties();
+ props.put("mail.smtp.host", smtpHost);
+ props.put("mail.smtp.port", "" + smtpPort);
+ session = Session.getInstance(props, null);
+ log.warn("Use specific mail session: " + session.getProperty("mail.smtp.host") + ":" + session.getProperty("mail.smtp.port"));
+ } else {
+ java.util.Properties props = new java.util.Properties();
+ props.put("mail.smtp.host", "mail.foo.bar"); // Dummy value
+ props.put("mail.smtp.port", "37"); // Dummy value
+ session = Session.getDefaultInstance(props, null);
+ log.warn("Use default mail session: " + session.getProperty("mail.smtp.host") + ":" + session.getProperty("mail.smtp.port"));
+ }
+
+ // Construct the message
+ Message msg = new MimeMessage(session);
+ msg.setFrom(new InternetAddress(from));
+ msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
+ msg.setSubject(subject);
+ msg.setText(content);
+
+ // Send the message
+ Transport.send(msg);
+ }
+}
More information about the Yanel-commits
mailing list