List of usage examples for org.springframework.mail.javamail MimeMessageHelper MULTIPART_MODE_MIXED
int MULTIPART_MODE_MIXED
To view the source code for org.springframework.mail.javamail MimeMessageHelper MULTIPART_MODE_MIXED.
Click Source Link
From source file:edu.unc.lib.dl.services.MailNotifier.java
public void sendIngestSuccessNotice(IngestProperties props, int ingestedCount) { String html = null, text = null; boolean logEmail = true; MimeMessage mimeMessage = null;/*from w ww . ja va2s. c om*/ try { Template htmlTemplate = this.freemarkerConfiguration.getTemplate("IngestSuccessHtml.ftl", Locale.getDefault(), "utf-8"); Template textTemplate = this.freemarkerConfiguration.getTemplate("IngestSuccessText.ftl", Locale.getDefault(), "utf-8"); // put data into the model HashMap<String, Object> model = new HashMap<String, Object>(); model.put("numberOfObjects", new Integer(ingestedCount)); model.put("irBaseUrl", this.irBaseUrl); List tops = new ArrayList(); for (ContainerPlacement p : props.getContainerPlacements().values()) { HashMap om = new HashMap(); om.put("pid", p.pid.getPid()); om.put("label", p.label); tops.add(om); } model.put("tops", tops); StringWriter sw = new StringWriter(); htmlTemplate.process(model, sw); html = sw.toString(); sw = new StringWriter(); textTemplate.process(model, sw); text = sw.toString(); } catch (IOException e1) { throw new Error("Unable to load email template for Ingest Success", e1); } catch (TemplateException e) { throw new Error("There was a problem loading FreeMarker templates for email notification", e); } try { if (log.isDebugEnabled() && this.mailSender instanceof JavaMailSenderImpl) { ((JavaMailSenderImpl) this.mailSender).getSession().setDebug(true); } mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_MIXED); for (String addy : props.getEmailRecipients()) { message.addTo(addy); } message.setSubject("CDR ingest complete"); message.setFrom(this.getRepositoryFromAddress()); message.setText(text, html); // attach Events XML // Document events = new Document(aip.getEventLogger().getAllEvents()); // message.addAttachment("events.xml", new JDOMStreamSource(events)); this.mailSender.send(mimeMessage); logEmail = false; } catch (MessagingException e) { log.error("Unable to send ingest success email.", e); } catch (RuntimeException e) { log.error(e); } finally { if (mimeMessage != null && logEmail) { try { mimeMessage.writeTo(System.out); } catch (Exception e) { log.error("Could not log email message after error.", e); } } } }
From source file:cdr.forms.EmailNotificationHandler.java
@Override public void notifyError(Deposit deposit, DepositResult result) { Form form = deposit.getForm();/* w ww. j a v a 2 s .c om*/ String formId = deposit.getFormId(); String depositorEmail = deposit.getReceiptEmailAddress(); List<String> recipients = deposit.getAllDepositNoticeToEmailAddresses(); // put data into the model HashMap<String, Object> model = new HashMap<String, Object>(); model.put("deposit", deposit); model.put("form", form); model.put("formId", formId); model.put("result", result); model.put("depositorEmail", depositorEmail); model.put("siteUrl", this.getSiteUrl()); model.put("siteName", this.getSiteName()); model.put("receivedDate", new Date(System.currentTimeMillis())); StringWriter htmlsw = new StringWriter(); StringWriter textsw = new StringWriter(); try { depositErrorHtmlTemplate.process(model, htmlsw); depositErrorTextTemplate.process(model, textsw); } catch (TemplateException e) { LOG.error("cannot process email template", e); return; } catch (IOException e) { LOG.error("cannot process email template", e); return; } try { MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_MIXED); if (administratorAddress != null && administratorAddress.trim().length() > 0) { message.addTo(this.administratorAddress); } for (String recipient : recipients) { message.addTo(recipient); } message.setSubject("Deposit Error for " + form.getTitle()); message.setFrom(this.getFromAddress()); message.setText(textsw.toString(), htmlsw.toString()); this.mailSender.send(mimeMessage); } catch (MessagingException e) { LOG.error("problem sending error notification message", e); return; } }
From source file:cdr.forms.EmailNotificationHandler.java
private void sendReceipt(HashMap<String, Object> model, Form form, String recipient) { if (recipient == null || recipient.trim().length() == 0) return;/*w ww .j a v a2 s . c om*/ StringWriter htmlsw = new StringWriter(); StringWriter textsw = new StringWriter(); try { depositReceiptHtmlTemplate.process(model, htmlsw); depositReceiptTextTemplate.process(model, textsw); } catch (TemplateException e) { LOG.error("cannot process email template", e); return; } catch (IOException e) { LOG.error("cannot process email template", e); return; } try { MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_MIXED); message.addTo(recipient); message.setSubject("Deposit Receipt for " + form.getTitle()); message.setFrom(this.getFromAddress()); message.setText(textsw.toString(), htmlsw.toString()); this.mailSender.send(mimeMessage); } catch (MessagingException e) { LOG.error("problem sending deposit message", e); return; } }
From source file:edu.unc.lib.dl.services.MailNotifier.java
/** * @param e// w ww . j a v a 2 s . c o m * @param user */ public void sendIngestFailureNotice(Throwable ex, IngestProperties props) { String html = null, text = null; MimeMessage mimeMessage = null; boolean logEmail = true; try { // create templates Template htmlTemplate = this.freemarkerConfiguration.getTemplate("IngestFailHtml.ftl", Locale.getDefault(), "utf-8"); Template textTemplate = this.freemarkerConfiguration.getTemplate("IngestFailText.ftl", Locale.getDefault(), "utf-8"); if (log.isDebugEnabled() && this.mailSender instanceof JavaMailSenderImpl) { ((JavaMailSenderImpl) this.mailSender).getSession().setDebug(true); } // create mail message mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_MIXED); // put data into the model HashMap<String, Object> model = new HashMap<String, Object>(); model.put("irBaseUrl", this.irBaseUrl); /* List<ContainerPlacement> tops = new ArrayList<ContainerPlacement>(); tops.addAll(props.getContainerPlacements().values()); model.put("tops", tops);*/ if (ex != null && ex.getMessage() != null) { model.put("message", ex.getMessage()); } else if (ex != null) { model.put("message", ex.toString()); } else { model.put("message", "No exception or error message available."); } // specific exception processing if (ex instanceof FilesDoNotMatchManifestException) { model.put("FilesDoNotMatchManifestException", ex); } else if (ex instanceof InvalidMETSException) { model.put("InvalidMETSException", ex); InvalidMETSException ime = (InvalidMETSException) ex; if (ime.getSvrl() != null) { Document jdomsvrl = ((InvalidMETSException) ex).getSvrl(); DOMOutputter domout = new DOMOutputter(); try { org.w3c.dom.Document svrl = domout.output(jdomsvrl); model.put("svrl", NodeModel.wrap(svrl)); // also dump SVRL to attachment message.addAttachment("schematron-output.xml", new JDOMStreamSource(jdomsvrl)); } catch (JDOMException e) { throw new Error(e); } } } else if (ex instanceof METSParseException) { log.debug("putting MPE in the model"); model.put("METSParseException", ex); } else { log.debug("IngestException without special email treatment", ex); } // attach error xml if available if (ex instanceof IngestException) { IngestException ie = (IngestException) ex; if (ie.getErrorXML() != null) { message.addAttachment("error.xml", new JDOMStreamSource(ie.getErrorXML())); } } model.put("user", props.getSubmitter()); model.put("irBaseUrl", this.irBaseUrl); StringWriter sw = new StringWriter(); htmlTemplate.process(model, sw); html = sw.toString(); sw = new StringWriter(); textTemplate.process(model, sw); text = sw.toString(); // Addressing: to initiator if a person, otherwise to all members of // admin group if (props.getEmailRecipients() != null) { for (String r : props.getEmailRecipients()) { message.addTo(r); } } message.addTo(this.getAdministratorAddress(), "CDR Administrator"); message.setSubject("CDR ingest failed"); message.setFrom(this.getRepositoryFromAddress()); message.setText(text, html); // attach Events XML // if (aip != null) { // /message.addAttachment("events.xml", new JDOMStreamSource(aip.getEventLogger().getAllEvents())); // } this.mailSender.send(mimeMessage); logEmail = false; } catch (MessagingException e) { log.error("Unable to send ingest fail email.", e); } catch (MailSendException e) { log.error("Unable to send ingest fail email.", e); } catch (UnsupportedEncodingException e) { log.error("Unable to send ingest fail email.", e); } catch (IOException e1) { throw new Error("Unable to load email template for Ingest Failure", e1); } catch (TemplateException e) { throw new Error("There was a problem loading FreeMarker templates for email notification", e); } finally { if (mimeMessage != null && logEmail) { try { mimeMessage.writeTo(System.out); } catch (Exception e) { log.error("Could not log email message after error.", e); } } } }
From source file:cdr.forms.EmailNotificationHandler.java
private void sendNotice(HashMap<String, Object> model, Form form, List<String> recipients) { if (recipients == null || recipients.isEmpty()) return;//from w w w . j av a 2s. co m StringWriter htmlsw = new StringWriter(); StringWriter textsw = new StringWriter(); try { depositNoticeHtmlTemplate.process(model, htmlsw); depositNoticeTextTemplate.process(model, textsw); } catch (TemplateException e) { LOG.error("cannot process email template", e); return; } catch (IOException e) { LOG.error("cannot process email template", e); return; } try { MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_MIXED); for (String recipient : recipients) { message.addTo(recipient); } message.setSubject("Deposit to " + form.getTitle() + " by " + form.getCurrentUser()); message.setFrom(this.getFromAddress()); message.setText(textsw.toString(), htmlsw.toString()); this.mailSender.send(mimeMessage); } catch (MessagingException e) { LOG.error("problem sending deposit message", e); return; } }