importjava.util.Properties;importjavax.activation.DataHandler;importjavax.activation.DataSource;importjavax.activation.FileDataSource;importjavax.mail.BodyPart;importjavax.mail.Message;importjavax.mail.MessagingException;importjavax.mail.Multipart;importjavax.mail.PasswordAuthentication;importjavax.mail.Session;importjavax.mail.Transport;importjavax.mail.internet.AddressException;importjavax.mail.internet.InternetAddress;importjavax.mail.internet.MimeBodyPart;importjavax.mail.internet.MimeMessage;importjavax.mail.internet.MimeMultipart;public classEmailHelper {privateString host;privateString username;privateString password;privateString from;privateString to;privateString subject;privateString htmlContent;privateString attachedFileName;public EmailHelper(String host, String username, String password, String from) throwsAddressException, MessagingException{this.host =host;this.username =username;this.password =password;this.from =from;
}public void send() throwsException{
Properties props= newProperties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", host);final String username1 =username;final String password1 =password;
Session session=Session.getInstance(props,newjavax.mail.Authenticator(){protectedPasswordAuthentication getPasswordAuthentication() {return newPasswordAuthentication(username1, password1);
}
});
Message message= newMimeMessage(session);
message.setFrom(newInternetAddress(from));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
message.setSubject(subject);
Multipart multipart= newMimeMultipart();if (htmlContent != null){
System.out.println(" has html ");
BodyPart htmlPart= newMimeBodyPart();
htmlPart.setContent(htmlContent,"text/html");
multipart.addBodyPart(htmlPart);
}if (attachedFileName != null){
System.out.println(" has attached file ");
BodyPart attchmentPart= newMimeBodyPart();
DataSource source= newFileDataSource(attachedFileName);
attchmentPart.setDataHandler(newDataHandler(source));
attchmentPart.setFileName(attachedFileName);
multipart.addBodyPart(attchmentPart);
}
message.setContent(multipart);
Transport.send(message);
System.out.println(" Sent ");
}public voidsetTo(String to) {this.to =to;
}public voidsetSubject(String subject) {this.subject =subject;
}public voidsetHtmlContent(String htmlContent) {this.htmlContent =htmlContent;
}public voidsetAttachedFileName(String attachedFileName) {this.attachedFileName =attachedFileName;
}
}