List of usage examples for org.springframework.mail.javamail MimeMessageHelper setSubject
public void setSubject(String subject) throws MessagingException
From source file:it.jugpadova.blo.ParticipantBo.java
/** * General participant mail sender//from w w w. j ava2 s .c om * * @param participant * @param baseUrl * @param subject * @param oneWayCode * @param template */ private void sendEmail(final Participant participant, final String baseUrl, final String subject, final String template, final Resource attachment, final String attachmentName) { MimeMessagePreparator preparator = new MimeMessagePreparator() { @SuppressWarnings(value = "unchecked") public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true); message.setTo(participant.getEmail()); message.setFrom(conf.getConfirmationSenderEmailAddress()); message.setSubject(subject); Map model = new HashMap(); model.put("participant", participant); model.put("baseUrl", baseUrl); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, template, model); message.setText(text, true); if (attachment != null) { message.addAttachment(attachmentName, attachment); } } }; this.mailSender.send(preparator); }
From source file:mx.edu.um.mateo.rh.web.DependienteController.java
private void enviaCorreo(String tipo, List<Dependiente> dependientes, HttpServletRequest request) throws JRException, MessagingException { log.debug("Enviando correo {}", tipo); byte[] archivo = null; String tipoContenido = null;//from www.j a va 2s. c om switch (tipo) { case "PDF": archivo = generaPdf(dependientes); tipoContenido = "application/pdf"; break; case "CSV": archivo = generaCsv(dependientes); tipoContenido = "text/csv"; break; case "XLS": archivo = generaXls(dependientes); tipoContenido = "application/vnd.ms-excel"; } MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); String titulo = messageSource.getMessage("dependiente.lista.label", null, request.getLocale()); helper.setSubject(messageSource.getMessage("envia.correo.titulo.message", new String[] { titulo }, request.getLocale())); helper.setText(messageSource.getMessage("envia.correo.contenido.message", new String[] { titulo }, request.getLocale()), true); helper.addAttachment(titulo + "." + tipo, new ByteArrayDataSource(archivo, tipoContenido)); mailSender.send(message); }
From source file:com.hmsinc.epicenter.webapp.PasswordResetController.java
/** * @param token// ww w . j a v a2 s .c o m * @param url */ private void sendPasswordResetEmail(final PasswordResetToken token, final String url) { final MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { final EpiCenterUser user = token.getUser(); String encoding = "UTF-8"; final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_RELATED, encoding); message.setTo(user.getEmailAddress()); message.setFrom(applicationProperties.getProperty("epicenter.mail.from")); message.setSubject(mailSubject); final Map<String, Object> model = new HashMap<String, Object>(); model.put("url", url); model.put("username", user.getUsername()); model.put("token", token.getToken()); message.setText(VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, TEMPLATE_TEXT, model), VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, TEMPLATE_HTML, model)); } }; mailSender.send(preparator); }
From source file:com.foilen.smalltools.email.EmailServiceSpring.java
@Override public void sendEmail(EmailBuilder emailBuilder) { try {/*from w w w.ja v a 2 s . c o m*/ MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(emailBuilder.getFrom()); for (String to : emailBuilder.getTos()) { helper.addTo(to); } for (String cc : emailBuilder.getCcs()) { helper.addCc(cc); } for (String bcc : emailBuilder.getBccs()) { helper.addBcc(bcc); } helper.setSubject(emailBuilder.getSubject()); helper.setText(emailBuilder.getBody(), emailBuilder.isHtml()); // Inline for (EmailAttachment emailAttachment : emailBuilder.getInlineAttachments()) { helper.addInline(emailAttachment.getId(), emailAttachment.getResource()); } // Attachment for (EmailAttachment emailAttachment : emailBuilder.getAttachments()) { helper.addAttachment(emailAttachment.getId(), emailAttachment.getResource()); } mailSender.send(message); } catch (Exception e) { throw new SmallToolsException("Could not send email", e); } }
From source file:be.roots.taconic.pricingguide.service.MailServiceImpl.java
@Override public void sendMail(Contact contact, byte[] pricingGuide) throws MessagingException { final MimeMessageHelper helper = new MimeMessageHelper(javaMailSender.createMimeMessage(), true); helper.setFrom(fromEmail);//w w w. j av a 2 s.c om if (StringUtils.isEmpty(testEmail)) { helper.setTo(contact.getEmail()); } else { helper.setTo(testEmail.split(",")); } if (!StringUtils.isEmpty(bccEmail)) { helper.setBcc(bccEmail.split(",")); } helper.setSubject("Your " + documentTitle); final String body = "Dear " + contact.getFullName() + ",<br>" + "<br>" + "Your " + documentTitle + " is attached.<br>" + "<br>" + "Please <a href=\"http:www.taconic.com/customer-service/contact-us\">contact us</a> for any additional information.<br>" + "<br>" + "Taconic Biosciences, Inc.<br>" + "One Hudson City Centre<br>" + "Hudson, New York 12534<br>" + "North America +1 888 822-6642<br>" + "Europe +45 70 23 04 05<br>" + "info@taconic.com<br>" + "www.taconic.com"; helper.setText(body, true); helper.addAttachment(documentFileName, new ByteArrayResource(pricingGuide)); javaMailSender.send(helper.getMimeMessage()); }
From source file:MailSender.java
public void sendUserPassword(User user, String clearText) { // major: well, sender is null, so no email is going out...silently. Just a debug message. // This means that the initial configuration is not able to create a sender. // This control should no be here and the methods that handle jndi or configFile should throw a // ConfigurationException if the sender is not created. if (sender == null) { logger.debug("mail sender is null, not sending new user / password change notification"); return;/*from w w w. jav a 2 s .com*/ } logger.debug("attempting to send mail for user password"); String localeString = user.getLocale(); Locale locale = null; if (localeString == null) { locale = defaultLocale; } else { locale = StringUtils.parseLocaleString(localeString); } // major: there is a bit of code duplication with the method send. // Apparently it seems that just the body is changing but the rest is // really similar. As suggested above the way a message is created should be // refactored in a collaborator. This method should just send a message. MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, "UTF-8"); try { helper.setTo(user.getEmail()); helper.setSubject(prefix + " " + fmt("loginMailSubject", locale)); StringBuffer sb = new StringBuffer(); sb.append("<p>" + fmt("loginMailGreeting", locale) + " " + user.getName() + ",</p>"); sb.append("<p>" + fmt("loginMailLine1", locale) + "</p>"); sb.append("<table class='jtrac'>"); sb.append("<tr><th style='background: #CCCCCC'>" + fmt("loginName", locale) + "</th><td style='border: 1px solid black'>" + user.getLoginName() + "</td></tr>"); sb.append("<tr><th style='background: #CCCCCC'>" + fmt("password", locale) + "</th><td style='border: 1px solid black'>" + clearText + "</td></tr>"); sb.append("</table>"); sb.append("<p>" + fmt("loginMailLine2", locale) + "</p>"); sb.append("<p><a href='" + url + "'>" + url + "</a></p>"); helper.setText(addHeaderAndFooter(sb), true); helper.setSentDate(new Date()); // helper.setCc(from); helper.setFrom(from); sendInNewThread(message); // major: generic exception, method too long, I don't understand what could fail. } catch (Exception e) { logger.error("failed to prepare e-mail", e); } }
From source file:be.roots.taconic.pricingguide.service.MailServiceImpl.java
@Override public void sendReport(DateTime lastMonth, String filename, byte[] report) throws MessagingException { final MimeMessageHelper helper = new MimeMessageHelper(javaMailSender.createMimeMessage(), true); helper.setFrom(fromEmail);/*from w ww . j ava2 s.c om*/ if (StringUtils.isEmpty(testEmail)) { helper.setTo(reportRecipientEmail.split(",")); } else { helper.setTo(testEmail.split(",")); } if (!StringUtils.isEmpty(bccEmail)) { helper.setBcc(bccEmail.split(",")); } helper.setSubject(documentTitle + " requests for " + lastMonth.toString(DefaultUtil.FORMAT_MONTH)); final String body = "Dear<br>" + "<br>" + "Attached you find the overview of " + documentTitle + " requests for " + lastMonth.toString(DefaultUtil.FORMAT_MONTH) + ".<br>" + "<br>" + "Taconic Biosciences, Inc.<br>" + "One Hudson City Centre<br>" + "Hudson, New York 12534<br>" + "North America +1 888 822-6642<br>" + "Europe +45 70 23 04 05<br>" + "info@taconic.com<br>" + "www.taconic.com"; helper.setText(body, true); helper.addAttachment(filename, new ByteArrayResource(report)); javaMailSender.send(helper.getMimeMessage()); }
From source file:org.jresponder.message.MessageRefImpl.java
/** * Render a message in the context of a particular subscriber * and subscription./*from w w w .jav a 2 s . c om*/ */ @Override public boolean populateMessage(MimeMessage aMimeMessage, SendConfig aSendConfig, Subscriber aSubscriber, Subscription aSubscription) { try { // prepare context Map<String, Object> myRenderContext = new HashMap<String, Object>(); myRenderContext.put("subscriber", aSubscriber); myRenderContext.put("subscription", aSubscription); myRenderContext.put("config", aSendConfig); myRenderContext.put("message", this); // render the whole file String myRenderedFileContents = TextRenderUtil.getInstance().render(fileContents, myRenderContext); // now parse again with Jsoup Document myDocument = Jsoup.parse(myRenderedFileContents); String myHtmlBody = ""; String myTextBody = ""; // html body Elements myBodyElements = myDocument.select("#htmlbody"); if (!myBodyElements.isEmpty()) { myHtmlBody = myBodyElements.html(); } // text body Elements myJrTextBodyElements = myDocument.select("#textbody"); if (!myJrTextBodyElements.isEmpty()) { myTextBody = TextUtil.getInstance().getWholeText(myJrTextBodyElements.first()); } // now build the actual message MimeMessage myMimeMessage = aMimeMessage; // wrap it in a MimeMessageHelper - since some things are easier with that MimeMessageHelper myMimeMessageHelper = new MimeMessageHelper(myMimeMessage); // set headers // subject myMimeMessageHelper.setSubject(TextRenderUtil.getInstance() .render((String) propMap.get(MessageRefProp.JR_SUBJECT.toString()), myRenderContext)); // TODO: implement DKIM, figure out subetha String mySenderEmailPattern = aSendConfig.getSenderEmailPattern(); String mySenderEmail = TextRenderUtil.getInstance().render(mySenderEmailPattern, myRenderContext); myMimeMessage.setSender(new InternetAddress(mySenderEmail)); myMimeMessageHelper.setTo(aSubscriber.getEmail()); // from myMimeMessageHelper.setFrom( TextRenderUtil.getInstance() .render((String) propMap.get(MessageRefProp.JR_FROM_EMAIL.toString()), myRenderContext), TextRenderUtil.getInstance() .render((String) propMap.get(MessageRefProp.JR_FROM_NAME.toString()), myRenderContext)); // see how to set body // if we have both text and html, then do multipart if (myTextBody.trim().length() > 0 && myHtmlBody.trim().length() > 0) { // create wrapper multipart/alternative part MimeMultipart ma = new MimeMultipart("alternative"); myMimeMessage.setContent(ma); // create the plain text BodyPart plainText = new MimeBodyPart(); plainText.setText(myTextBody); ma.addBodyPart(plainText); // create the html part BodyPart html = new MimeBodyPart(); html.setContent(myHtmlBody, "text/html"); ma.addBodyPart(html); } // if only HTML, then just use that else if (myHtmlBody.trim().length() > 0) { myMimeMessageHelper.setText(myHtmlBody, true); } // if only text, then just use that else if (myTextBody.trim().length() > 0) { myMimeMessageHelper.setText(myTextBody, false); } // if neither text nor HTML, then the message is being skipped, // so we just return null else { return false; } return true; } catch (MessagingException e) { throw new RuntimeException(e); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } }
From source file:business.services.MailService.java
@Transactional public void sendAgreementFormLink(@NotNull String email, @NotNull RequestProperties request) { log.info("Send agreement form link for request " + request.getRequestNumber() + "."); log.info("Sending link to " + email); try {/*w w w. j ava2 s. com*/ MimeMessageHelper message = new MimeMessageHelper(mailSender.createMimeMessage()); message.setTo(email); message.setFrom(getFrom(), fromName); message.setReplyTo(replyAddress, replyName); message.setSubject(String.format("Nieuwe PALGA-aanvraag ontvangen, aanvraagnummer: %s", request.getRequestNumber())); String agreementFormLink = getLink("/#/request/" + request.getProcessInstanceId() + "/agreementform"); message.setText(String.format(requesterAgreementFormLinkTemplate, agreementFormLink)); mailSender.send(message.getMimeMessage()); } catch (MessagingException e) { log.error(e.getMessage()); throw new EmailError("Email error: " + e.getMessage()); } catch (UnsupportedEncodingException e) { log.error(e.getMessage()); throw new EmailError("Email error: " + e.getMessage()); } }
From source file:org.wallride.service.UserService.java
@CacheEvict(value = WallRideCacheConfiguration.USER_CACHE, allEntries = true) public UserInvitation inviteAgain(UserInvitationResendRequest form, BindingResult result, AuthorizedUser authorizedUser) throws MessagingException { LocalDateTime now = LocalDateTime.now(); UserInvitation invitation = userInvitationRepository.findOneForUpdateByToken(form.getToken()); invitation.setExpiredAt(now.plusHours(72)); invitation.setUpdatedAt(now);//from w w w. java 2 s. co m invitation.setUpdatedBy(authorizedUser.toString()); invitation = userInvitationRepository.saveAndFlush(invitation); Blog blog = blogService.getBlogById(Blog.DEFAULT_ID); String websiteTitle = blog.getTitle(LocaleContextHolder.getLocale().getLanguage()); String signupLink = ServletUriComponentsBuilder.fromCurrentContextPath().path("/_admin/signup") .queryParam("token", invitation.getToken()).buildAndExpand().toString(); final Context ctx = new Context(LocaleContextHolder.getLocale()); ctx.setVariable("websiteTitle", websiteTitle); ctx.setVariable("authorizedUser", authorizedUser); ctx.setVariable("signupLink", signupLink); ctx.setVariable("invitation", invitation); final MimeMessage mimeMessage = mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); // true = multipart message.setSubject(MessageFormat.format( messageSourceAccessor.getMessage("InvitationMessageTitle", LocaleContextHolder.getLocale()), authorizedUser.toString(), websiteTitle)); message.setFrom(authorizedUser.getEmail()); message.setTo(invitation.getEmail()); final String htmlContent = templateEngine.process("user-invite", ctx); message.setText(htmlContent, true); // true = isHtml mailSender.send(mimeMessage); return invitation; }