use of com.manydesigns.mail.queue.model.Recipient in project Portofino by ManyDesigns.
the class DefaultLoginAction method sendMail.
protected void sendMail(String from, String to, String subject, String body) {
if (mailQueue == null) {
throw new UnsupportedOperationException("Mail queue is not enabled");
}
Email email = new Email();
email.getRecipients().add(new Recipient(Recipient.Type.TO, to));
email.setFrom(from);
email.setSubject(subject);
email.setHtmlBody(body);
email.setTextBody(Jsoup.parse(body).text().toString());
try {
mailQueue.enqueue(email);
} catch (QueueException e) {
throw new RuntimeException(e);
}
}
use of com.manydesigns.mail.queue.model.Recipient in project Portofino by ManyDesigns.
the class DefaultMailSender method send.
protected void send(Email emailBean) throws EmailException {
logger.debug("Entering send(Email)");
org.apache.commons.mail.Email email;
String textBody = emailBean.getTextBody();
String htmlBody = emailBean.getHtmlBody();
if (null == htmlBody) {
if (emailBean.getAttachments().isEmpty()) {
SimpleEmail simpleEmail = new SimpleEmail();
simpleEmail.setMsg(textBody);
email = simpleEmail;
} else {
MultiPartEmail multiPartEmail = new MultiPartEmail();
multiPartEmail.setMsg(textBody);
for (Attachment attachment : emailBean.getAttachments()) {
EmailAttachment emailAttachment = new EmailAttachment();
emailAttachment.setName(attachment.getName());
emailAttachment.setDisposition(attachment.getDisposition());
emailAttachment.setDescription(attachment.getDescription());
emailAttachment.setPath(attachment.getFilePath());
multiPartEmail.attach(emailAttachment);
}
email = multiPartEmail;
}
} else {
HtmlEmail htmlEmail = new HtmlEmail();
htmlEmail.setHtmlMsg(htmlBody);
if (textBody != null) {
htmlEmail.setTextMsg(textBody);
}
for (Attachment attachment : emailBean.getAttachments()) {
if (!attachment.isEmbedded()) {
EmailAttachment emailAttachment = new EmailAttachment();
emailAttachment.setName(attachment.getName());
emailAttachment.setDisposition(attachment.getDisposition());
emailAttachment.setDescription(attachment.getDescription());
emailAttachment.setPath(attachment.getFilePath());
htmlEmail.attach(emailAttachment);
} else {
FileDataSource dataSource = new FileDataSource(new File(attachment.getFilePath()));
htmlEmail.embed(dataSource, attachment.getName(), attachment.getContentId());
}
}
email = htmlEmail;
}
if (null != login && null != password) {
email.setAuthenticator(new DefaultAuthenticator(login, password));
}
email.setHostName(server);
email.setSmtpPort(port);
email.setSubject(emailBean.getSubject());
email.setFrom(emailBean.getFrom());
String replyTo = emailBean.getReplyTo();
if (null != replyTo)
email.addReplyTo(replyTo);
for (Recipient recipient : emailBean.getRecipients()) {
switch(recipient.getType()) {
case TO:
email.addTo(recipient.getAddress());
break;
case CC:
email.addCc(recipient.getAddress());
break;
case BCC:
email.addBcc(recipient.getAddress());
break;
}
}
email.setSSLOnConnect(ssl);
email.setStartTLSEnabled(tls);
email.setSslSmtpPort(port + "");
email.setCharset("UTF-8");
email.send();
logger.debug("Exiting send(Email)");
}
Aggregations