1 package org.paneris.jammyjoes.mail; 2 3 import javax.mail.Message; 4 import javax.mail.MessagingException; 5 import javax.mail.Session; 6 import javax.mail.internet.AddressException; 7 import javax.mail.internet.InternetAddress; 8 import javax.mail.internet.MimeBodyPart; 9 import javax.mail.internet.MimeMessage; 10 import javax.mail.internet.MimeMultipart; 11 12 public class MimeMail { 13 14 private MimeBodyPart htmlPart; 15 private MimeMessage message; 16 private MimeMultipart parts; 17 18 public MimeMail(Session session) throws AddressException, MessagingException { 19 message = new MimeMessage(session); 20 parts = new MimeMultipart("related"); 21 htmlPart = new MimeBodyPart(); 22 addBodyPart(htmlPart); 23 message.setContent(parts); 24 } 25 26 public void setContentText(String string) throws MessagingException { 27 htmlPart.setContent(string, "text/html"); 28 } 29 30 public void setRecipient(String to) throws MessagingException { 31 message.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); 32 } 33 34 public void addRecipient(String to) throws MessagingException { 35 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); 36 } 37 38 public void setFrom(String from) throws MessagingException { 39 message.setFrom(new InternetAddress(from)); 40 } 41 42 public void setSubject(String subject) throws MessagingException { 43 message.setSubject(subject); 44 } 45 46 public String getRecipient() throws MessagingException { 47 return message.getAllRecipients()[0].toString(); 48 } 49 50 public String getSubject() throws MessagingException { 51 return message.getSubject(); 52 } 53 54 public MimeMultipart getContent() { 55 return parts; 56 } 57 58 public Message getMessage() { 59 return message; 60 } 61 62 protected void addBodyPart(MimeBodyPart part) throws MessagingException { 63 parts.addBodyPart(part); 64 } 65 66 }