1 package com.espada.bugtracker.util; 2 3 import java.net.URL ; 4 import javax.activation.DataHandler ; 5 import javax.activation.URLDataSource ; 6 import javax.mail.MessagingException ; 7 import javax.mail.Multipart ; 8 import javax.mail.internet.MimeBodyPart ; 9 import javax.mail.internet.MimeMultipart ; 10 11 14 public class HtmlEmail extends MultiPartEmail 15 { 16 17 protected void init(String mailserver) 18 throws MessagingException 19 { 20 super.init(mailserver); 21 MimeMultipart mimemultipart = new MimeMultipart (); 22 mimemultipart.setSubType("alternative"); 23 main.setContent(mimemultipart); 24 msgText = new MimeBodyPart (); 25 mimemultipart.addBodyPart(msgText); 26 htmlContent = new MimeMultipart (); 27 htmlContent.setSubType("related"); 28 MimeBodyPart mimebodypart = new MimeBodyPart (); 29 mimemultipart.addBodyPart(mimebodypart); 30 mimebodypart.setContent(htmlContent); 31 msgHtml = new MimeBodyPart (); 32 htmlContent.addBodyPart(msgHtml); 33 } 34 35 public HtmlEmail setTextMsg(String s) 36 throws MessagingException 37 { 38 msgText.setText(s); 39 return this; 40 } 41 42 public HtmlEmail setHtmlMsg(String s) 43 throws MessagingException 44 { 45 msgHtml.setContent(s, "text/html"); 46 return this; 47 } 48 49 public Email setMsg(String s) 50 throws MessagingException 51 { 52 setTextMsg(s); 53 String s1 = "<html><body><pre>" + s + "</pre></body></html>"; 54 setHtmlMsg(s1); 55 return this; 56 } 57 58 public String embed(URL url, String s) 59 throws MessagingException 60 { 61 MimeBodyPart mimebodypart = new MimeBodyPart (); 62 htmlContent.addBodyPart(mimebodypart); 63 mimebodypart.setDataHandler(new DataHandler (new URLDataSource (url))); 64 mimebodypart.setFileName(s); 65 mimebodypart.setDisposition("inline"); 66 String s1 = GenerateUniqueId.getIdentifier(); 67 mimebodypart.addHeader("Content-ID", s1); 68 return mimebodypart.getContentID(); 69 } 70 71 public HtmlEmail(String mailserver) 72 throws MessagingException 73 { 74 init(mailserver); 75 } 76 77 protected MimeMultipart htmlContent; 78 protected MimeBodyPart msgText; 79 protected MimeBodyPart msgHtml; 80 } 81 | Popular Tags |