List of usage examples for org.springframework.mail.javamail MimeMessageHelper MimeMessageHelper
public MimeMessageHelper(MimeMessage mimeMessage, int multipartMode, @Nullable String encoding) throws MessagingException
From source file:edu.mum.eureka.email.EmailService.java
public void sendOrderReceivedMail(final String recipientName, final String recipientEmail, Order order, final Locale locale) throws MessagingException { // Prepare the evaluation context final Context thymeContext = new Context(locale); thymeContext.setVariable("name", recipientName); thymeContext.setVariable("order", order); // Prepare message using a Spring helper final MimeMessage mimeMessage = this.mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); message.setSubject("Your Eureka Order Details"); // could have CC, BCC, will also take an array of Strings message.setTo(recipientEmail);/*from ww w .jav a2 s . c o m*/ // Create the HTML body using Thymeleaf final String htmlContent = this.templateEngine.process("orderReceivedMail", thymeContext); message.setText(htmlContent, true); message.addInline("imtheguy", new ClassPathResource(IM_THE_GUY), JPG_MIME); /*String documentLocation = "templates/images/" + documentName ; message.addAttachment(documentName, new ClassPathResource(documentLocation));*/ /* // Alternative File file = new File(documentLocation); message.addAttachment(documentName, file); */ // Send email this.mailSender.send(mimeMessage); }
From source file:org.jrecruiter.service.notification.impl.DefaultNotificationServiceImpl.java
/** {@inheritDoc} */ @Override// ww w.ja va2s .c om public void sendEmail(final String email, final String subject, final Map context, final String templateName) { final MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws MessagingException, IOException { final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); message.setFrom("no_reply@jrecruiter.org"); message.setTo(email); message.setSubject(subject); final Locale locale = LocaleContextHolder.getLocale(); final Template textTemplate = freemarkerConfiguration.getTemplate(templateName + "-text.ftl", locale); final StringWriter textWriter = new StringWriter(); try { textTemplate.process(context, textWriter); } catch (TemplateException e) { throw new MailPreparationException("Can't generate email body.", e); } final Template htmlTemplate = freemarkerConfiguration.getTemplate(templateName + "-html.ftl", locale); final StringWriter htmlWriter = new StringWriter(); try { htmlTemplate.process(context, htmlWriter); } catch (TemplateException e) { throw new MailPreparationException("Can't generate email body.", e); } message.setText(textWriter.toString(), htmlWriter.toString()); } }; mailSender.send(preparator); }
From source file:org.toobsframework.email.SmtpMailSender.java
public void sendEmail(EmailBean email) throws MailException, MessagingException { JavaMailSender javaMailSender = (JavaMailSender) javaMailSenders.get(email.getMailSenderKey()); if (javaMailSender == null) { throw new MessagingException(email.getMailSenderKey() + " is an invalid mailSenderKey"); }/*from w w w. ja va2 s . c o m*/ if (this.getMailProperties() != null) { ((JavaMailSenderImpl) javaMailSender).setJavaMailProperties(this.getMailProperties()); } try { String[] recipients = this.processRecipients(email.getRecipients()); String[] bccs = new String[email.getBccs().size()]; for (int i = 0; i < recipients.length; i++) { MimeMessage message = null; MimeMessageHelper helper = null; String thisRecipient = recipients[i]; switch (email.getType()) { case EmailBean.MESSAGE_TYPE_TEXT: message = javaMailSender.createMimeMessage(); helper = new MimeMessageHelper(message, false, "us-ascii"); helper.setSubject(email.getEmailSubject()); helper.setFrom(email.getEmailSender()); helper.setTo(thisRecipient); helper.setBcc((String[]) email.getBccs().toArray(bccs)); helper.setText(email.getMessageText(), false); log.info("Sending message " + message.toString()); javaMailSender.send(message); break; case EmailBean.MESSAGE_TYPE_HTML: message = javaMailSender.createMimeMessage(); helper = new MimeMessageHelper(message, true, "us-ascii"); helper.setSubject(email.getEmailSubject()); helper.setFrom(email.getEmailSender()); helper.setTo(thisRecipient); helper.setBcc((String[]) email.getBccs().toArray(bccs)); helper.setText(email.getMessageText(), email.getMessageHtml()); log.info("Sending message " + message.toString()); javaMailSender.send(message); break; } } } catch (Exception e) { log.error("Mail exception " + e.getMessage(), e); throw new MessagingException(e.getMessage()); } }
From source file:com.seajas.search.attender.service.mail.MailService.java
/** * Send an e-mail message./*from www. j av a 2s .c om*/ * * @param receiver * @param textContent * @param htmlContent */ public boolean sendMessage(final String receiver, final String subject, final String textContent, final String htmlContent) { MimeMessage message = sender.createMimeMessage(); // We request a multi-part message so we can write out both HTML and text try { MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); helper.setFrom(fromAddress); helper.setTo(receiver); helper.setSubject(subject); helper.setText(textContent, htmlContent); sender.send(message); return true; } catch (MessagingException e) { logger.error("Could not build the given e-mail message for receiver '" + receiver + "'", e); } catch (MailException e) { logger.error("Could not send the givn e-mail message for receiver '" + receiver + "'", e); } return false; }
From source file:com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJobAlertImpl.java
public void sendAlertMail(Job job, ReportJob jobDetails, List<ExceptionInfo> exceptions, JavaMailSender mailSender, String fromAddress, String[] toAddresses, String characterEncoding) throws JobExecutionException { ReportJobAlert alert = jobDetails.getAlert(); boolean isSucceed = exceptions.isEmpty(); switch (alert.getJobState()) { case FAIL_ONLY: if (isSucceed) return; break;//from w w w . java2s .c om case SUCCESS_ONLY: if (!isSucceed) return; break; case NONE: return; } if (alert != null) { try { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, characterEncoding); messageHelper.setFrom(fromAddress); String subject = alert.getSubject(); if ((subject == null) && (job instanceof ReportExecutionJob)) subject = ((ReportExecutionJob) job).getMessage("report.scheduling.job.default.alert.subject", null); messageHelper.setSubject(subject); StringBuffer messageText = new StringBuffer(); String text = (isSucceed ? alert.getMessageText() : alert.getMessageTextWhenJobFails()); if (text != null) { messageText.append(text); } messageHelper.setTo(toAddresses); if (alert.isIncludingReportJobInfo()) { messageText.append("\n"); messageText.append("ReportJob Info:").append("\n"); messageText.append("Label = ").append(jobDetails.getLabel()).append("\n"); messageText.append("ID = ").append(jobDetails.getId()).append("\n"); messageText.append("Description = ").append(jobDetails.getDescription()).append("\n"); messageText.append("Status = ").append(exceptions.isEmpty() ? "PASS" : "FAIL").append("\n"); } if (alert.isIncludingStackTrace()) { if (!exceptions.isEmpty()) { for (Iterator it = exceptions.iterator(); it.hasNext();) { ExceptionInfo exception = (ExceptionInfo) it.next(); messageText.append("\n"); messageText.append(exception.getMessage()); attachException(messageHelper, exception); } } } messageHelper.setText(messageText.toString()); mailSender.send(message); } catch (MessagingException e) { log.error("Error while sending report job alert notification", e); throw new JSExceptionWrapper(e); } } }
From source file:com.netsteadfast.greenstep.util.MailClientUtils.java
public static void send(String from, String to, String cc[], String bcc[], String fileNames[], File files[], String subject, String text) throws MailException, Exception { if (mailSender == null) { throw new Exception("null mailSender!"); }/*w w w. j ava2s .com*/ if (StringUtils.isBlank(from) || StringUtils.isBlank(to)) { throw new Exception("from and to is required!"); } if (fileNames != null && files != null) { if (fileNames.length != files.length) { throw new Exception("File parameter error!"); } } MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, Constants.BASE_ENCODING); helper.setFrom(from); helper.setTo(to.endsWith(";") ? to.substring(0, to.length() - 1) : to); helper.setSubject(subject); helper.setText(text, true); if (null != cc && cc.length > 0) { helper.setCc(cc); } if (null != bcc && bcc.length > 0) { helper.setBcc(bcc); } for (int i = 0; fileNames != null && i < fileNames.length; i++) { helper.addAttachment(fileNames[i], files[i]); } mailSender.send(message); }
From source file:com.logicaalternativa.ejemplomock.rest.sender.SendMailCodePromotionImp.java
private void sendEmail(final PromotionCode promotionCode, final Locale locale) throws MessagingException { MimeMessage mimeMessage = getJavaMailSender().createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8"); final String subject = getMessageSource().getMessage("email.promotionCode.subject", new Object[] {}, "email.promotionCode.subject", locale); final String to = (new StringBuilder()) .append(promotionCode.getNameUser() != null ? promotionCode.getNameUser().toUpperCase() : "") .append("<").append(promotionCode.getEmail() != null ? promotionCode.getEmail() : "").append(">") .toString();/*from ww w. j a v a 2s . com*/ final String text = getMessageSource().getMessage("email.promotionCode.txt", new Object[] { promotionCode.getCode() }, "email.promotionCode.txt", locale); final String html = getMessageSource().getMessage("email.promotionCode.html", new Object[] { promotionCode.getCode() }, "email.promotionCode.html", locale); helper.setFrom(getFrom()); helper.setTo(to); helper.setSubject(subject); helper.setText(text, html); getJavaMailSender().send(mimeMessage); }
From source file:com.edgenius.core.service.impl.MailEngineService.java
public void sendHtmlMail(final SimpleMailMessage msg, final String templateName, final Map model) { final String content = generateContent(templateName, model); final String subject = generateContent(getSubjectName(templateName), model); try {/*from ww w . j ava 2 s .c om*/ mailSender.send(new MimeMessagePreparator() { public void prepare(MimeMessage mimeMsg) throws Exception { MimeMessageHelper helper = new MimeMessageHelper(mimeMsg, true, "utf-8"); helper.setTo(msg.getTo()); helper.setFrom(msg.getFrom()); if (msg.getBcc() != null) helper.setBcc(msg.getBcc()); if (!StringUtils.isBlank(subject)) helper.setSubject(subject); else helper.setSubject(msg.getSubject()); helper.setText(content, true); } }); } catch (Exception e) { log.error("Send HTML mail failed on {}", e.toString(), e); log.info("Message subject: {}", subject); log.info("Message content: {}", content); } }
From source file:com.gcrm.util.mail.MailService.java
public void sendSystemSimpleMail(String toAddress, String subject, String text) throws Exception { List<EmailSetting> emailSettings = baseService.getAllObjects(EmailSetting.class.getSimpleName()); EmailSetting emailSetting = null;/*from w w w .ja va2s . co m*/ if (emailSettings != null && emailSettings.size() > 0) { emailSetting = emailSettings.get(0); } else { return; } Session mailSession = this.createSmtpSession(emailSetting); if (mailSession != null) { Transport transport = mailSession.getTransport(); MimeMessage msg = new MimeMessage(mailSession); MimeMessageHelper helper = new MimeMessageHelper(msg, true, "utf-8"); helper.setFrom(emailSetting.getFrom_address()); helper.setTo(toAddress); helper.setSubject(subject); helper.setText(text, true); transport.connect(); transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO)); } }
From source file:net.triptech.metahive.service.EmailSenderService.java
/** * Send an email message using the configured Spring sender. On success * record the sent message in the datastore for reporting purposes * * @param email the email/*w w w. ja v a2 s. c o m*/ * @param attachments the attachments * @throws ServiceException the service exception */ public final void send(final SimpleMailMessage email, TreeMap<String, Object> attachments) throws ServiceException { // Check to see whether the required fields are set (to, from, message) if (email.getTo() == null) { throw new ServiceException("Error sending email: Recipient " + "address required"); } if (StringUtils.isBlank(email.getFrom())) { throw new ServiceException("Error sending email: Email requires " + "a from address"); } if (StringUtils.isBlank(email.getText())) { throw new ServiceException("Error sending email: No email " + "message specified"); } if (mailSender == null) { throw new ServiceException("The JavaMail sender has not " + "been configured"); } // Prepare the email message MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = null; boolean htmlMessage = false; if (StringUtils.containsIgnoreCase(email.getText(), "<html")) { htmlMessage = true; try { helper = new MimeMessageHelper(message, true, "UTF-8"); } catch (MessagingException me) { throw new ServiceException("Error preparing email for sending: " + me.getMessage()); } } else { helper = new MimeMessageHelper(message); } try { helper.setTo(email.getTo()); helper.setFrom(email.getFrom()); helper.setSubject(email.getSubject()); if (email.getCc() != null) { helper.setCc(email.getCc()); } if (email.getBcc() != null) { helper.setBcc(email.getBcc()); } if (htmlMessage) { String plainText = email.getText(); try { ConvertHtmlToText htmlToText = new ConvertHtmlToText(); plainText = htmlToText.convert(email.getText()); } catch (Exception e) { logger.error("Error converting HTML to plain text: " + e.getMessage()); } helper.setText(plainText, email.getText()); } else { helper.setText(email.getText()); } if (email.getSentDate() != null) { helper.setSentDate(email.getSentDate()); } else { helper.setSentDate(Calendar.getInstance().getTime()); } } catch (MessagingException me) { throw new ServiceException("Error preparing email for sending: " + me.getMessage()); } // Append any attachments (if an HTML email) if (htmlMessage && attachments != null) { for (String id : attachments.keySet()) { Object reference = attachments.get(id); if (reference instanceof File) { try { FileSystemResource res = new FileSystemResource((File) reference); helper.addInline(id, res); } catch (MessagingException me) { logger.error("Error appending File attachment: " + me.getMessage()); } } if (reference instanceof URL) { try { UrlResource res = new UrlResource((URL) reference); helper.addInline(id, res); } catch (MessagingException me) { logger.error("Error appending URL attachment: " + me.getMessage()); } } } } // Send the email message try { mailSender.send(message); } catch (MailException me) { logger.error("Error sending email: " + me.getMessage()); throw new ServiceException("Error sending email: " + me.getMessage()); } }