Example usage for org.springframework.mail.javamail MimeMessageHelper setText

List of usage examples for org.springframework.mail.javamail MimeMessageHelper setText

Introduction

In this page you can find the example usage for org.springframework.mail.javamail MimeMessageHelper setText.

Prototype

public void setText(String plainText, String htmlText) throws MessagingException 

Source Link

Document

Set the given plain text and HTML text as alternatives, offering both options to the email client.

Usage

From source file:mx.edu.um.mateo.general.web.BaseController.java

protected void enviaCorreo(String tipo, List<?> lista, HttpServletRequest request, String nombre,
        String tipoReporte, Long id) throws ReporteException {
    try {//ww  w. j a v a2  s.com
        log.debug("Enviando correo {}", tipo);
        byte[] archivo = null;
        String tipoContenido = null;
        switch (tipo) {
        case "PDF":
            archivo = generaPdf(lista, nombre, tipoReporte, id);
            tipoContenido = "application/pdf";
            break;
        case "CSV":
            archivo = generaCsv(lista, nombre, tipoReporte, id);
            tipoContenido = "text/csv";
            break;
        case "XLS":
            archivo = generaXls(lista, nombre, tipoReporte, id);
            tipoContenido = "application/vnd.ms-excel";
        }

        MimeMessage message = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        helper.setTo(ambiente.obtieneUsuario().getCorreo());
        String titulo = messageSource.getMessage(nombre + ".reporte.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);
    } catch (JRException | MessagingException e) {
        throw new ReporteException("No se pudo generar el reporte", e);
    }
}

From source file:nl.surfnet.coin.shared.service.ErrorMessageMailer.java

private MimeMessageHelper addBody(MimeMessageHelper helper, String template, ErrorMail errorMail)
        throws MessagingException {
    DateTime dateTime = new DateTime();
    DateTimeFormatter dateFormatter = DateTimeFormat.forPattern(DATE_FORMAT);
    DateTimeFormatter timeFormatter = DateTimeFormat.forPattern(TIME_FORMAT);
    String date = dateFormatter.print(dateTime);
    String time = timeFormatter.print(dateTime);

    String body = MessageFormat.format(template, date, time, errorMail.getServer(), errorMail.getComponent(),
            errorMail.getUserId(), errorMail.getIdp(), errorMail.getSp(), errorMail.getMessage(),
            errorMail.getLocation(), errorMail.getDetails());
    helper.setText(body, true);
    return helper;
}

From source file:eu.trentorise.smartcampus.citizenportal.service.EmailService.java

public String sendMailVLClassification(final String period, final String mailDate, final String protocolCode,
        final String recipientName, final String recipientAddress, final String recipientCity,
        final String recipientPhone, final String recipientEmail, final String practice_id,
        final String position, final String score, final String determinationCode,
        final String determinationDate, final String alboDate, final String expirationDate, final String phase,
        final String ef_period, final String ef_category, final String ef_tool, final String classificationUrl,
        final String respName, final String subject, final Locale locale, final MailImage logoImage,
        final MailImage footerImage, final int type) throws MessagingException {

    // Prepare the evaluation context
    final Context ctx = new Context(locale);
    ctx.setVariable("imagelogoMyweb", logoImage.getImageName());
    ctx.setVariable("mailDate", mailDate);
    ctx.setVariable("period", period);
    ctx.setVariable("protCode", protocolCode);
    ctx.setVariable("name", recipientName);
    ctx.setVariable("address", recipientAddress);
    ctx.setVariable("city", recipientCity);
    ctx.setVariable("phone", recipientPhone);
    ctx.setVariable("detCode", determinationCode);
    ctx.setVariable("detDate", determinationDate);
    ctx.setVariable("alboDate", alboDate);
    ctx.setVariable("expDate", expirationDate);
    ctx.setVariable("practice_id", practice_id);
    ctx.setVariable("position", position);
    ctx.setVariable("score", score);
    ctx.setVariable("phase", phase);
    ctx.setVariable("ef_period", ef_period);
    ctx.setVariable("ef_category", ef_category);
    ctx.setVariable("ef_tool", ef_tool);
    ctx.setVariable("classification_url", classificationUrl);
    ctx.setVariable("respName", respName);
    ctx.setVariable("subscriptionDate", new Date());
    //ctx.setVariable("hobbies", Arrays.asList("Cinema", "Sports", "Music"));
    ctx.setVariable("text", subject);
    ctx.setVariable("imagefooterVallag", footerImage.getImageName());

    // Prepare message using a Spring helper
    final MimeMessage mimeMessage = this.mailSender.createMimeMessage();
    final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true /* multipart */, "UTF-8");
    message.setSubject("Graduatoria Edilizia Abitativa");
    //message.setFrom("thymeleaf@example.com");
    message.setFrom("myweb.edilizia@comunitadellavallagarina.tn.it");
    //message.setFrom("myweb-graduatoria@smartcommunitylab.it");
    message.setTo(recipientEmail);/*from  w ww  . ja v  a  2s.  co  m*/

    // Create the HTML body using Thymeleaf
    if (type == 1) {
        final String htmlContent = this.templateEngine.process("email-vallagarina.html", ctx);
        message.setText(htmlContent, true /* isHtml */);
    } else {
        final String htmlContent = this.templateEngine.process("email-vallagarina-final.html", ctx);
        message.setText(htmlContent, true /* isHtml */);
    }

    // Add the inline titles image, referenced from the HTML code as "cid:${imageResourceName}"
    final InputStreamSource imageLogo = new ByteArrayResource(logoImage.getImageByte());
    message.addInline(logoImage.getImageName(), imageLogo, logoImage.getImageType());

    // Add the inline footer image, referenced from the HTML code as "cid:${imageResourceName}"
    final InputStreamSource imageFooter = new ByteArrayResource(footerImage.getImageByte());
    message.addInline(footerImage.getImageName(), imageFooter, footerImage.getImageType());

    // Add the attachment
    //final InputStreamSource attachmentSource = new ByteArrayResource(attachmentBytes);
    //message.addAttachment(
    //        attachmentFileName, attachmentSource, attachmentContentType);

    // Send mail
    this.mailSender.send(mimeMessage);

    return recipientName + "OK";
}

From source file:com.web.mavenproject6.service.MailSenderService.java

@Async
public void sendAuthorizationMail(final Users user, final SecurityCode securityCode) {
    MimeMessagePreparator preparator = new MimeMessagePreparator() {
        @Override/*  w  w w . 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(user.getEmail());
            message.setFrom(mailForm.getFrom());
            Map model = new HashMap();
            model.put("websiteName", mailForm.getWebsiteName());
            model.put("host", mailForm.getHost());
            model.put("user", user);
            model.put("securityCode", securityCode);
            model.put("projectName", env.getProperty("projectName"));
            System.out.println("MAIL!!:" + user.toString());
            String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, CONFIRMATION_TEMPLATE,
                    model);
            message.setText(text, true);
        }
    };
    this.mailSender.send(preparator);
}

From source file:app.service.CaptchaService.java

protected void sendEmail(String email, String authCode)
        throws MessagingException, UnsupportedEncodingException {
    MimeMessage mimeMessage = mMailSender.createMimeMessage();

    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, "UTF-8");
    helper.setSubject(" LsPush ");
    helper.setFrom(serverEmail, serverName);
    helper.setTo(email);//from   w w w  .j  a  v  a  2s.  c  o m

    String authLink = String.format("%s/user/auth?auth_code=%s", serverUrl, authCode);
    final Context ctx = new Context(Locale.CHINA);
    ctx.setVariable("serverUrl", serverUrl);
    ctx.setVariable("serverName", serverName);
    ctx.setVariable("email", email);
    ctx.setVariable("authCode", authCode);
    ctx.setVariable("authLink", authLink);

    String html = mTemplateEngine.process("lspush_captcha_email", ctx);

    helper.setText(html, true);
    mMailSender.send(mimeMessage);
}

From source file:dk.nsi.haiba.epimibaimporter.email.EmailSender.java

private void sendText(final String subject, final String nonHtml) {
    MimeMessagePreparator preparator = new MimeMessagePreparator() {
        @Override//  ww w  .j  a v  a  2 s .  c o  m
        public void prepare(MimeMessage mimeMessage) throws Exception {
            MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
            messageHelper.setValidateAddresses(true);

            String[] split = to_commaseparated.split(",");
            for (String emailAddress : split) {
                emailAddress = emailAddress.trim();
                try {
                    log.trace("adding " + emailAddress);
                    messageHelper.addTo(emailAddress);
                    log.trace("added " + emailAddress);
                } catch (MessagingException e) {
                    log.error("unable to parse email address from " + emailAddress, e);
                }
            }
            messageHelper.setFrom(from);
            messageHelper.setSubject(subject);
            messageHelper.setText(nonHtml, false);
        }
    };
    javaMailSender.send(preparator);
}

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  ww .  j av  a  2s .c  o 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;
}

From source file:com.apress.progwt.server.service.impl.InvitationServiceImpl.java

public void sendInvite(final MailingListEntry invitation) throws InfrastructureException {
    // send mail// w ww . j  a  v a 2 s .c o m
    try {
        MimeMessagePreparator preparator = new MimeMessagePreparator() {
            public void prepare(MimeMessage mimeMessage) throws Exception {
                MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
                message.setTo(invitation.getEmail());
                message.setFrom(from);
                message.setSubject("ToCollege.net Invitation");

                Map<String, Object> model = new HashMap<String, Object>();
                model.put("inviter", invitation.getInviter());
                model.put("randomkey", invitation.getRandomkey());
                model.put("email", invitation.getEmail());

                Template textTemplate = configurer.getConfiguration().getTemplate(invitationTemplate);
                final StringWriter textWriter = new StringWriter();

                textTemplate.process(model, textWriter);

                message.setText(textWriter.toString(), true);

                log.info("Inviting: " + invitation.getEmail());
                log.debug("From: " + from);
                log.debug("Message: " + textWriter.toString());

            }
        };
        this.mailSender.send(preparator);

        invitation.setSentEmailOk(true);
        mailingListDAO.save(invitation);

    } catch (Exception e) {
        log.error(e);
        throw new InfrastructureException(e);
    }
}

From source file:org.wallride.service.UserService.java

public PasswordResetToken createPasswordResetToken(PasswordResetTokenCreateRequest request) {
    User user = userRepository.findOneByEmail(request.getEmail());
    if (user == null) {
        throw new EmailNotFoundException();
    }//from  ww w .j ava  2 s . c om

    LocalDateTime now = LocalDateTime.now();
    PasswordResetToken passwordResetToken = new PasswordResetToken();
    passwordResetToken.setUser(user);
    passwordResetToken.setEmail(user.getEmail());
    passwordResetToken.setExpiredAt(now.plusHours(24));
    passwordResetToken.setCreatedAt(now);
    passwordResetToken.setCreatedBy(user.toString());
    passwordResetToken.setUpdatedAt(now);
    passwordResetToken.setUpdatedBy(user.toString());
    passwordResetToken = passwordResetTokenRepository.saveAndFlush(passwordResetToken);

    try {
        Blog blog = blogService.getBlogById(Blog.DEFAULT_ID);
        String blogTitle = blog.getTitle(LocaleContextHolder.getLocale().getLanguage());

        ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentContextPath();
        if (blog.isMultiLanguage()) {
            builder.path("/{language}");
        }
        builder.path("/password-reset");
        builder.path("/{token}");

        Map<String, Object> urlVariables = new LinkedHashMap<>();
        urlVariables.put("language", request.getLanguage());
        urlVariables.put("token", passwordResetToken.getToken());
        String resetLink = builder.buildAndExpand(urlVariables).toString();

        Context ctx = new Context(LocaleContextHolder.getLocale());
        ctx.setVariable("passwordResetToken", passwordResetToken);
        ctx.setVariable("resetLink", resetLink);

        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); // true = multipart
        message.setSubject(MessageFormat.format(
                messageSourceAccessor.getMessage("PasswordResetSubject", LocaleContextHolder.getLocale()),
                blogTitle));
        message.setFrom(mailProperties.getProperties().get("mail.from"));
        message.setTo(passwordResetToken.getEmail());

        String htmlContent = templateEngine.process("password-reset", ctx);
        message.setText(htmlContent, true); // true = isHtml

        mailSender.send(mimeMessage);
    } catch (MessagingException e) {
        throw new ServiceException(e);
    }

    return passwordResetToken;
}

From source file:org.wallride.service.UserService.java

@CacheEvict(value = WallRideCacheConfiguration.USER_CACHE, allEntries = true)
public User updatePassword(PasswordUpdateRequest request, PasswordResetToken passwordResetToken) {
    User user = userRepository.findOneForUpdateById(request.getUserId());
    if (user == null) {
        throw new IllegalArgumentException("The user does not exist");
    }//  w  w  w  . j a va 2 s. c o m
    PasswordEncoder passwordEncoder = new StandardPasswordEncoder();
    user.setLoginPassword(passwordEncoder.encode(request.getPassword()));
    user.setUpdatedAt(LocalDateTime.now());
    user.setUpdatedBy(passwordResetToken.getUser().toString());
    user = userRepository.saveAndFlush(user);

    passwordResetTokenRepository.delete(passwordResetToken);

    try {
        Blog blog = blogService.getBlogById(Blog.DEFAULT_ID);
        String blogTitle = blog.getTitle(LocaleContextHolder.getLocale().getLanguage());

        ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentContextPath();
        if (blog.isMultiLanguage()) {
            builder.path("/{language}");
        }
        builder.path("/login");

        Map<String, Object> urlVariables = new LinkedHashMap<>();
        urlVariables.put("language", request.getLanguage());
        urlVariables.put("token", passwordResetToken.getToken());
        String loginLink = builder.buildAndExpand(urlVariables).toString();

        Context ctx = new Context(LocaleContextHolder.getLocale());
        ctx.setVariable("passwordResetToken", passwordResetToken);
        ctx.setVariable("resetLink", loginLink);

        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); // true = multipart
        message.setSubject(MessageFormat.format(
                messageSourceAccessor.getMessage("PasswordChangedSubject", LocaleContextHolder.getLocale()),
                blogTitle));
        message.setFrom(mailProperties.getProperties().get("mail.from"));
        message.setTo(passwordResetToken.getEmail());

        String htmlContent = templateEngine.process("password-changed", ctx);
        message.setText(htmlContent, true); // true = isHtml

        mailSender.send(mimeMessage);
    } catch (MessagingException e) {
        throw new ServiceException(e);
    }

    return user;
}