List of usage examples for org.springframework.mail.javamail MimeMessageHelper setText
public void setText(String plainText, String htmlText) throws MessagingException
From source file:org.appverse.web.framework.backend.api.services.integration.impl.live.MailIntegrationServiceImpl.java
@Override @SuppressWarnings("unchecked") public void sendMail(String from, String[] to, String[] copyTo, String subject, String templateLocation, Map model) throws Exception { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(from);/*w w w. j a va 2 s. c o m*/ helper.setTo(to); if (copyTo != null) { helper.setCc(copyTo); } helper.setSubject(subject); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, ENCODING, templateLocation, model); helper.setText(text, true); try { this.mailSender.send(message); } catch (MailSendException sendMailException) { Exception[] messageExceptions = sendMailException.getMessageExceptions(); for (Exception messageException : messageExceptions) { if (messageException instanceof SendFailedException) { SendFailedException sendFailedException = (SendFailedException) messageException; if (sendFailedException.getMessage().equals(INVALID_ADDRESSES)) { Address[] invalidAddresses = sendFailedException.getInvalidAddresses(); List<String> invalidAddressList = new ArrayList<String>(); for (Address invalidAddress : invalidAddresses) { String invalidAddressString = invalidAddress.toString(); invalidAddressList.add(invalidAddressString); } List<String> validToAdressesList = new ArrayList<String>(); if (to != null && to.length > 0) { for (String address : to) { if (!invalidAddressList.contains(address)) { validToAdressesList.add(address); } } } List<String> validCopyToAdressesList = new ArrayList<String>(); if (copyTo != null && copyTo.length > 0) { for (String address : copyTo) { if (!invalidAddressList.contains(address)) { validCopyToAdressesList.add(address); } } } String[] validToAdressesArray = new String[validToAdressesList.size()]; validToAdressesList.toArray(validToAdressesArray); helper.setTo(validToAdressesList.toArray(validToAdressesArray)); String[] validCopyToAdressesArray = new String[validCopyToAdressesList.size()]; validCopyToAdressesList.toArray(validCopyToAdressesArray); helper.setCc(validCopyToAdressesList.toArray(validCopyToAdressesArray)); for (String invalidAddress : invalidAddressList) { logger.error("Mail not sended to " + invalidAddress + "due its a invalid address"); } this.mailSender.send(message); } } } } }
From source file:org.appverse.web.framework.backend.api.services.integration.impl.live.MailIntegrationServiceImpl.java
@SuppressWarnings("unchecked") @Override/* www . jav a 2s. c o m*/ public void sendMail(String from, String[] to, String[] copyTo, String subject, String templateLocation, Map model, ArrayList<AttachmentDTO> attachments) throws Exception { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(from); helper.setTo(to); if (copyTo != null) { helper.setCc(copyTo); } helper.setSubject(subject); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, ENCODING, templateLocation, model); helper.setText(text, true); for (AttachmentDTO attachmentDTO : attachments) { helper.addAttachment(attachmentDTO.getAttachmentName(), attachmentDTO.getAttachment()); } try { this.mailSender.send(message); } catch (MailSendException sendMailException) { Exception[] messageExceptions = sendMailException.getMessageExceptions(); for (Exception messageException : messageExceptions) { if (messageException instanceof SendFailedException) { SendFailedException sendFailedException = (SendFailedException) messageException; if (sendFailedException.getMessage().equals(INVALID_ADDRESSES)) { Address[] invalidAddresses = sendFailedException.getInvalidAddresses(); List<String> invalidAddressList = new ArrayList<String>(); for (Address invalidAddress : invalidAddresses) { String invalidAddressString = invalidAddress.toString(); invalidAddressList.add(invalidAddressString); } List<String> validToAdressesList = new ArrayList<String>(); if (to != null && to.length > 0) { for (String address : to) { if (!invalidAddressList.contains(address)) { validToAdressesList.add(address); } } } List<String> validCopyToAdressesList = new ArrayList<String>(); if (copyTo != null && copyTo.length > 0) { for (String address : copyTo) { if (!invalidAddressList.contains(address)) { validCopyToAdressesList.add(address); } } } String[] validToAdressesArray = new String[validToAdressesList.size()]; validToAdressesList.toArray(validToAdressesArray); helper.setTo(validToAdressesList.toArray(validToAdressesArray)); String[] validCopyToAdressesArray = new String[validCopyToAdressesList.size()]; validCopyToAdressesList.toArray(validCopyToAdressesArray); helper.setCc(validCopyToAdressesList.toArray(validCopyToAdressesArray)); for (String invalidAddress : invalidAddressList) { logger.error("Mail not sended to " + invalidAddress + "due its a invalid address"); } this.mailSender.send(message); } } } } }
From source file:com.miserablemind.butter.domain.service.email.EmailService.java
/** * Sends a mime mail with a specified Velocity template that may contain HTML and attachments. * * @param emailMessage prepared message object to be sent. Usually prepared by {@link EmailManager} *//*from w ww .ja v a 2 s. com*/ public void sendMimeMail(final EmailMessage emailMessage) { MimeMessagePreparator preparedMessage = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true); message.setTo(emailMessage.getToEmail()); message.setFrom(emailMessage.getFromAddress()); message.setReplyTo(emailMessage.getFromAddress()); message.setSubject(emailMessage.getSubject()); String body = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, emailMessage.getTemplatePath(), "UTF-8", emailMessage.getModel()); message.setText(body, true); if (!StringUtils.isBlank(emailMessage.getAttachmentPath())) { FileSystemResource file = new FileSystemResource(emailMessage.getAttachmentPath()); message.addAttachment(emailMessage.getAttachmentName(), file); } } }; try { this.mailSender.send(preparedMessage); } catch (MailException e) { logger.error("Email Service Exception Send Mime Mail: " + e.getMessage(), e); } }
From source file:com.epam.ta.reportportal.util.email.EmailService.java
/** * User creation confirmation email//ww w . j a v a2 s. c o m * * @param subject Letter's subject * @param recipients Letter's recipients * @param url ReportPortal URL */ public void sendConfirmationEmail(final String subject, final String[] recipients, final String url) { MimeMessagePreparator preparator = mimeMessage -> { URL logoImg = this.getClass().getClassLoader().getResource(LOGO); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "utf-8"); message.setSubject(subject); message.setTo(recipients); setFrom(message); Map<String, Object> email = new HashMap<>(); email.put("url", url); String text = templateEngine.merge("registration-template.vm", email); message.setText(text, true); message.addInline("logoimg", new UrlResource(logoImg)); }; this.send(preparator); }
From source file:mx.edu.um.mateo.general.web.UsuarioController.java
@Transactional @RequestMapping(value = "/crea", method = RequestMethod.POST) public String crea(HttpServletRequest request, HttpServletResponse response, @Valid Usuario usuario, BindingResult bindingResult, Errors errors, Model modelo, RedirectAttributes redirectAttributes, @RequestParam Boolean enviaCorreo) { for (String nombre : request.getParameterMap().keySet()) { log.debug("Param: {} : {}", nombre, request.getParameterMap().get(nombre)); }/*from w ww. j a v a 2s .co m*/ if (bindingResult.hasErrors()) { log.debug("Hubo algun error en la forma, regresando"); List<Rol> roles = obtieneRoles(); modelo.addAttribute("roles", roles); return "admin/usuario/nuevo"; } String password = null; try { log.debug("Evaluando roles {}", request.getParameterValues("roles")); String[] roles = request.getParameterValues("roles"); if (roles == null || roles.length == 0) { log.debug("Asignando ROLE_USER por defecto"); roles = new String[] { "ROLE_USER" }; } Long almacenId = (Long) request.getSession().getAttribute("almacenId"); password = KeyGenerators.string().generateKey(); usuario.setPassword(password); usuario = usuarioDao.crea(usuario, almacenId, roles); if (enviaCorreo) { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setTo(usuario.getCorreo()); helper.setSubject(messageSource.getMessage("envia.correo.password.titulo.message", new String[] {}, request.getLocale())); helper.setText(messageSource.getMessage("envia.correo.password.contenido.message", new String[] { usuario.getNombre(), usuario.getUsername(), password }, request.getLocale()), true); mailSender.send(message); } } catch (ConstraintViolationException e) { log.error("No se pudo crear al usuario", e); errors.rejectValue("username", "campo.duplicado.message", new String[] { "username" }, null); List<Rol> roles = obtieneRoles(); modelo.addAttribute("roles", roles); return "admin/usuario/nuevo"; } catch (MessagingException e) { log.error("No se pudo enviar la contrasena por correo", e); redirectAttributes.addFlashAttribute("message", "usuario.creado.sin.correo.message"); redirectAttributes.addFlashAttribute("messageAttrs", new String[] { usuario.getUsername(), password }); return "redirect:/admin/usuario/ver/" + usuario.getId(); } redirectAttributes.addFlashAttribute("message", "usuario.creado.message"); redirectAttributes.addFlashAttribute("messageAttrs", new String[] { usuario.getUsername() }); return "redirect:/admin/usuario/ver/" + usuario.getId(); }
From source file:eu.trentorise.smartcampus.citizenportal.service.EmailService.java
public void sendMailWithInline(final String recipientName, final String recipientEmail, final String imageResourceName, final byte[] imageBytes, final String imageContentType, final Locale locale) throws MessagingException { // Prepare the evaluation context final Context ctx = new Context(locale); ctx.setVariable("name", recipientName); ctx.setVariable("subscriptionDate", new Date()); ctx.setVariable("hobbies", Arrays.asList("Cinema", "Sports", "Music")); ctx.setVariable("imageResourceName", imageResourceName); // so that we can reference it from HTML // Prepare message using a Spring helper final MimeMessage mimeMessage = this.mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true /* multipart */, "UTF-8"); message.setSubject("Example HTML email with inline image"); message.setFrom("thymeleaf@example.com"); message.setTo(recipientEmail);/*w w w .j a va2 s. c o m*/ // Create the HTML body using Thymeleaf final String htmlContent = this.templateEngine.process("email-inlineimage.html", ctx); message.setText(htmlContent, true /* isHtml */); // Add the inline image, referenced from the HTML code as "cid:${imageResourceName}" final InputStreamSource imageSource = new ByteArrayResource(imageBytes); message.addInline(imageResourceName, imageSource, imageContentType); // Send mail this.mailSender.send(mimeMessage); }
From source file:no.dusken.common.control.MailController.java
/** * * @param mail the mail part of the mail * @param model other things that should be in the mail. * @param template - the path to the velocitytemplate to use (mail/template.vm) *///from w ww .j a v a2 s . c o m public void sendEmail(final Mail mail, final Map model, final String template) { final Map<String, Object> map = new HashMap<String, Object>(); if (model != null) { map.putAll(model); } MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setTo(mail.getToAddress()); if (mail.getFromAddress() == null || mail.getFromAddress().equals("")) { mail.setFromAddress(defaultSenderAddress); } message.setFrom(mail.getFromAddress()); message.setSubject(mail.getSubject()); map.put("mail", mail); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, template, map); message.setText(text, false); if (mail.getAttachment() != null) { FileSystemResource res = new FileSystemResource(mail.getAttachment()); message.addAttachment(mail.getAttachment().getName(), res); } } }; this.mailSender.send(preparator); }
From source file:com.web.mavenproject6.other.MailSenderService.java
@Async public void sendGreatingMail(String mail, String textMessage) { MimeMessagePreparator preparator = new MimeMessagePreparator() { @Override/*from w ww .j av a 2 s. c o m*/ public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setSubject(mailForm.getSubject()); message.setTo(mail); message.setFrom(mailForm.getFrom()); Map model = new HashMap(); model.put("websiteName", mailForm.getWebsiteName()); model.put("email", mail); model.put("textMessage", textMessage); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, CONFIRMATION_TEMPLATE, model); message.setText(text, true); } }; this.mailSender.send(preparator); }
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;/* www . ja v a2 s. c o 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; } }
From source file:org.runway.users.service.UserPasswordResetServiceImpl.java
private void createAndSendEmail(User user, UserPasswordReset resetRequest) { //SimpleMailMessage msg = new SimpleMailMessage(this.templateMessage); MimeMessageHelper msg = new MimeMailMessage(mailSender.createMimeMailMessage()).getMimeMessageHelper(); String title = "Peoplebees password reset request "; try {//from w w w . j a v a 2 s .c o m msg.setFrom("admin@peoplebees.com"); msg.setTo(user.getEmail()); msg.setSubject(title); String resetLink = UserLinkHelper.createPasswordResetLink(resetRequest); String message = createMessage(title, resetRequest.getHostName(), resetLink, user); msg.setText(message, true); this.mailSender.sendMail(msg); } catch (MessagingException e) { e.printStackTrace(); } }