1 packagemail;2
3 importjava.util.Properties;4
5 importjavax.activation.DataHandler;6 importjavax.activation.DataSource;7 importjavax.activation.FileDataSource;8 importjavax.mail.BodyPart;9 importjavax.mail.Message;10 importjavax.mail.MessagingException;11 importjavax.mail.Multipart;12 importjavax.mail.PasswordAuthentication;13 importjavax.mail.Session;14 importjavax.mail.Transport;15 importjavax.mail.internet.AddressException;16 importjavax.mail.internet.InternetAddress;17 importjavax.mail.internet.MimeBodyPart;18 importjavax.mail.internet.MimeMessage;19 importjavax.mail.internet.MimeMultipart;20
21 public classEmailHelper {22
23 privateString host;24 privateString username;25 privateString password;26 privateString from;27
28 privateString to;29 privateString subject;30 privateString htmlContent;31 privateString imagePath;32
33 public EmailHelper(String host, String username, String password, String from) throwsAddressException, MessagingException{34 this.host =host;35 this.username =username;36 this.password =password;37 this.from =from;38 }39
40 public void sendWithImage() throwsException {41
42 Properties props = newProperties();43 props.put("mail.smtp.auth", "true");44 props.put("mail.smtp.host", host);45
46 final String username1 =username;47 final String password1 =password;48
49 Session session = Session.getInstance(props, newjavax.mail.Authenticator() {50 protectedPasswordAuthentication getPasswordAuthentication() {51 return newPasswordAuthentication(username1, password1);52 }53 });54
55 Message message = newMimeMessage(session);56
57 message.setFrom(newInternetAddress(from));58
59 message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));60
61 message.setSubject(subject);62
63 Multipart multipart = new MimeMultipart("related");64
65 System.out.println(" html ");66 BodyPart htmlPart = newMimeBodyPart();67 htmlContent = "" +htmlContent;68 htmlPart.setContent(htmlContent, "text/html");69 multipart.addBodyPart(htmlPart);70
71 System.out.println(" image ");72 System.out.println("image path : " +imagePath);73 BodyPart imgPart = newMimeBodyPart();74 DataSource fds = new FileDataSource(this.imagePath);75
76 imgPart.setDataHandler(newDataHandler(fds));77 imgPart.setHeader("Content-ID", "");78
79 multipart.addBodyPart(imgPart);80 message.setContent(multipart);81 Transport.send(message);82
83 System.out.println(" Sent -| ");84 }85
86 public voidsetTo(String to) {87 this.to =to;88 }89
90 public voidsetSubject(String subject) {91 this.subject =subject;92 }93
94 public voidsetHtmlContent(String htmlContent) {95 this.htmlContent =htmlContent;96 }97
98 publicString getImagePath() {99 returnimagePath;100 }101
102 public voidsetImagePath(String imagePath) {103 this.imagePath =imagePath;104 }105 }