- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 07 Oct 2009 15:54:42 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn/util In directory hutz:/tmp/cvs-serv8971/src/org/w3c/unicorn/util Added Files: Mail.java Log Message: new class to send mails --- NEW FILE: Mail.java --- package org.w3c.unicorn.util; import java.io.CharArrayWriter; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Properties; import javax.mail.Address; import javax.mail.Authenticator; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import org.w3c.unicorn.exceptions.UnicornException; import org.w3c.unicorn.output.OutputFormater; public class Mail { public void sendMail(String[] recipients, String subject, List<OutputFormater> outputFormaters, Map<String, Object> contextObjects) throws UnicornException { try { Properties mailProps = Property.getProps("mail.properties"); Authenticator auth = new UnicornAuthenticator(mailProps.getProperty("unicorn.mail.username"), mailProps.getProperty("unicorn.mail.password")); Session session = Session.getDefaultInstance(mailProps, auth); boolean debug = false; if ("true".equals(mailProps.getProperty("unicorn.mail.debug"))) debug = true; session.setDebug(debug); javax.mail.Message msg = new MimeMessage(session); InternetAddress addressFrom = new InternetAddress(mailProps.getProperty("unicorn.mail.from"), "Unicorn"); msg.setFrom(addressFrom); Address[] recipientAdresses = new Address[recipients.length]; int i = 0; for (String recipient : recipients) { recipientAdresses[i] = new InternetAddress(recipient); i++; } msg.setRecipients(javax.mail.Message.RecipientType.TO, recipientAdresses); msg.setSubject(subject); if (outputFormaters.size() > 1) { // New multipart message Multipart mp = new MimeMultipart("alternative"); for (OutputFormater outputFormater : outputFormaters) { MimeBodyPart bodyPart = new MimeBodyPart(); bodyPart.addHeader("Content-Type", outputFormater.getMimeType() + ", charset=UTF-8"); CharArrayWriter writer = new CharArrayWriter(); outputFormater.produceOutput(contextObjects, writer); writer.close(); bodyPart.setContent(writer.toString(), outputFormater.getMimeType()); mp.addBodyPart(bodyPart); } msg.setContent(mp); } else { CharArrayWriter writer = new CharArrayWriter(); outputFormaters.get(0).produceOutput(contextObjects, writer); writer.close(); msg.setContent(writer.toString(), outputFormaters.get(0).getMimeType()); } Transport.send(msg); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void sendMail(String[] recipients, String subject, OutputFormater outputFormater, Map<String, Object> contextObjects) throws UnicornException { List<OutputFormater> outputFormaters = new ArrayList<OutputFormater>(); outputFormaters.add(outputFormater); sendMail(recipients, subject, outputFormaters, contextObjects); } }
Received on Wednesday, 7 October 2009 15:54:43 UTC