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

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

Introduction

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

Prototype

public void setSubject(String subject) throws MessagingException 

Source Link

Document

Set the subject of the message, using the correct encoding.

Usage

From source file:csns.util.EmailUtils.java

public boolean sendHtmlMail(Email email) {
    MimeMessage message = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message);

    try {//from w w  w . ja v a2 s.  co  m
        message.setContent(getHtml(email), "text/html");

        helper.setSubject(email.getSubject());
        helper.setFrom(email.getAuthor().getPrimaryEmail());
        helper.setCc(email.getAuthor().getPrimaryEmail());
        String addresses[] = getAddresses(email.getRecipients(), email.isUseSecondaryEmail())
                .toArray(new String[0]);
        if (addresses.length > 1) {
            helper.setTo(appEmail);
            helper.setBcc(addresses);
        } else
            helper.setTo(addresses);

        mailSender.send(message);

        logger.info(email.getAuthor().getUsername() + " sent email to "
                + StringUtils.arrayToCommaDelimitedString(addresses));

        return true;
    } catch (MessagingException e) {
        logger.warn("Fail to send MIME message", e);
    }

    return false;
}

From source file:com.newinit.email.MailServiceImpl.java

/**
 * envo de email con attachments/*from  w  ww .  ja va2 s  .  co  m*/
 *
 * @param to correo electrnico del destinatario
 * @param subject asunto del mensaje
 * @param text cuerpo del mensaje
 * @param attachments ficheros que se anexarn al mensaje
 */
@Override
public void send(String to, String subject, String text, File... attachments) {
    // chequeo de parmetros 
    Assert.hasLength(to, "email 'to' needed");
    Assert.hasLength(subject, "email 'subject' needed");
    Assert.hasLength(text, "email 'text' needed");

    // asegurando la trazabilidad
    if (log.isDebugEnabled()) {
        final boolean usingPassword = !"".equals(mailSender.getPassword());
        log.debug("Sending email to: '" + to + "' [through host: '" + mailSender.getHost() + ":"
                + mailSender.getPort() + "', username: '" + mailSender.getUsername() + "' usingPassword:"
                + usingPassword + "].");
        log.debug("isActive: " + active);
    }
    // el servicio esta activo?
    if (!active) {
        return;
    }

    // plantilla para el envo de email
    final MimeMessage message = mailSender.createMimeMessage();

    try {
        // el flag a true indica que va a ser multipart
        final MimeMessageHelper helper = new MimeMessageHelper(message, true);

        // settings de los parmetros del envo
        helper.setTo(to);
        helper.setSubject(subject);
        helper.setFrom(getFrom());
        helper.setText(text);

        // adjuntando los ficheros
        if (attachments != null) {
            for (int i = 0; i < attachments.length; i++) {
                FileSystemResource file = new FileSystemResource(attachments[i]);
                helper.addAttachment(attachments[i].getName(), file);
                if (log.isDebugEnabled()) {
                    log.debug("File '" + file + "' attached.");
                }
            }
        }

    } catch (MessagingException e) {
        new RuntimeException(e);
    }

    // el envo
    this.mailSender.send(message);
}

From source file:cn.edu.zjnu.acm.judge.user.ResetPasswordController.java

@PostMapping("/resetPassword")
public void doPost(HttpServletRequest request, HttpServletResponse response,
        @RequestParam(value = "action", required = false) String action,
        @RequestParam(value = "verify", required = false) String verify,
        @RequestParam(value = "username", required = false) String username, Locale locale) throws IOException {
    response.setContentType("text/javascript;charset=UTF-8");
    PrintWriter out = response.getWriter();

    HttpSession session = request.getSession(false);
    String word = null;/*www.j a v  a 2s  .c om*/
    if (session != null) {
        word = (String) session.getAttribute("word");
        session.removeAttribute("word");
    }
    if (word == null || !word.equalsIgnoreCase(verify)) {
        out.print("alert('??');");
        return;
    }

    User user = userMapper.findOne(username);
    if (user == null) {
        out.print("alert('?');");
        return;
    }
    String email = user.getEmail();
    if (email == null || !email.toLowerCase().matches(ValueCheck.EMAIL_PATTERN)) {
        out.print(
                "alert('???????');");
        return;
    }
    try {
        String vc = user.getVcode();
        if (vc == null || user.getExpireTime() != null && user.getExpireTime().compareTo(Instant.now()) < 0) {
            vc = Utility.getRandomString(16);
        }
        user = user.toBuilder().vcode(vc).expireTime(Instant.now().plus(1, ChronoUnit.HOURS)).build();
        userMapper.update(user);
        String url = getPath(request, "/resetPassword.html?vc=", vc + "&u=", user.getId());
        HashMap<String, Object> map = new HashMap<>(2);
        map.put("url", url);
        map.put("ojName", judgeConfiguration.getContextPath() + " OJ");

        String content = templateEngine.process("users/password", new Context(locale, map));
        String title = templateEngine.process("users/passwordTitle", new Context(locale, map));

        MimeMessage mimeMessage = javaMailSender.createMimeMessage();

        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setTo(email);
        helper.setSubject(title);
        helper.setText(content, true);
        helper.setFrom(javaMailSender.getUsername());

        javaMailSender.send(mimeMessage);
    } catch (MailException | MessagingException ex) {
        log.error("", ex);
        out.print("alert('?????')");
        return;
    }
    out.print("alert('???" + user.getEmail() + "??');");
}

From source file:de.hska.ld.core.service.impl.MailServiceImpl.java

@Override
public void sendMail(String fullName, String email, String templateFileName, Map<String, Object> model) {
    ;/* w  w w. j a v  a  2  s.  c o  m*/
    if (Boolean.parseBoolean(env.getProperty("email.enabled"))) {
        Locale locale = LocaleContextHolder.getLocale();
        ResourceBundle bundle = ResourceBundle.getBundle("messages", locale);
        model.put("dear", bundle.getString("email.dear"));
        model.put("fullName", fullName);
        model.put("greeting", bundle.getString("email.greeting"));

        String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,
                "templates/mail/" + templateFileName, "UTF-8", model);

        Properties properties = getMailProperties();

        Session session = Session.getInstance(properties, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(MAIL_PROPERTIES.getProperty("email.username"),
                        MAIL_PROPERTIES.getProperty("email.password"));
            }
        });

        try {
            MimeMessage message = new MimeMessage(session);
            MimeMessageHelper helper = new MimeMessageHelper(message, true);
            helper.setFrom(MAIL_PROPERTIES.getProperty("email.from.system"));
            helper.setTo(email);
            helper.setSubject(model.containsKey("subject") ? (String) model.get("subject") : "");
            helper.setText(text, true);
            Transport.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}

From source file:gr.abiss.calipso.service.EmailService.java

@Async
public void sendEmail(final String subject, final String templateName, String emailTo, String emailFrom,
        final Context ctx) {
    try {//from   www .ja  v  a  2 s .  c o  m
        // Prepare message using a Spring helper
        final MimeMessage mimeMessage = this.mailSender.createMimeMessage();
        final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8");
        message.setSubject(subject);
        message.setFrom(emailFrom);
        message.setTo(emailTo);
        ctx.setVariable("baseUrl", this.baseUrl);
        // Create the HTML body using Thymeleaf
        final String htmlContent = this.templateEngine.process(templateName, ctx);

        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("Sending email body: " + htmlContent);
        }
        message.setText(htmlContent, true /* isHtml */);

        // Send email
        if (StringUtils.isNotBlank(ConfigurationFactory.getConfiguration().getString("mail.server.host"))) {
            this.mailSender.send(mimeMessage);
        } else {
            LOGGER.warn("Skipped sending email as mail.server.host property is empty");
        }
    } catch (Exception e) {
        LOGGER.error("Failed to send email: ", e);
    }

}

From source file:nu.yona.server.email.EmailService.java

public void prepareMimeMessage(MimeMessage mimeMessage, String senderName, InternetAddress receiverAddress,
        String subjectTemplateName, String bodyTemplateName, Map<String, Object> templateParameters)
        throws MessagingException, UnsupportedEncodingException {
    Context ctx = ThymeleafUtil.createContext();
    ctx.setVariable("includedMediaBaseUrl", yonaProperties.getEmail().getIncludedMediaBaseUrl());
    ctx.setVariable("appleAppStoreUrl", yonaProperties.getEmail().getAppleAppStoreUrl());
    ctx.setVariable("googlePlayStoreUrl", yonaProperties.getEmail().getGooglePlayStoreUrl());
    templateParameters.entrySet().stream().forEach(e -> ctx.setVariable(e.getKey(), e.getValue()));

    String subjectText = emailTemplateEngine.process(subjectTemplateName + ".txt", ctx);
    String bodyText = emailTemplateEngine.process(bodyTemplateName + ".html", ctx);

    MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
    message.setFrom(new InternetAddress(yonaProperties.getEmail().getSenderAddress(), senderName));
    message.setTo(receiverAddress);//from   w  w w . j  av  a 2s . c  o m
    message.setSubject(subjectText);
    message.setText(bodyText, true);
}

From source file:com.github.dactiv.common.spring.mail.JavaMailService.java

/**
 * ??//from  ww  w .jav a 2s  .  c  o  m
 * 
 * @param sendTo ??
 * @param sendFrom ?
 * @param subject 
 * @param content 
 * @param attachment mapkey????value?????
 */
private void doSend(String sendTo, String sendFrom, String subject, String content,
        Map<String, File> attachment) {
    try {
        MimeMessage msg = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(msg, true, encoding);

        helper.setTo(sendTo);
        helper.setFrom(sendFrom);
        helper.setSubject(subject);
        helper.setText(content, true);

        if (!MapUtils.isEmpty(attachment)) {
            for (Entry<String, File> entry : attachment.entrySet()) {
                helper.addAttachment(entry.getKey(), entry.getValue());
            }
        }

        mailSender.send(msg);
        logger.info("???");
    } catch (MessagingException e) {
        logger.error("", e);
    } catch (Exception e) {
        logger.error("??", e);
    }
}

From source file:com.epam.ta.reportportal.util.email.EmailService.java

/**
 * User creation confirmation email//from   ww w .j  a v  a 2  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:com.enonic.cms.core.mail.AbstractSendMailService.java

public final void sendMail(AbstractMailTemplate template) {
    try {//from  w ww .j a  v a2 s  .  co m
        MessageSettings settings = new MessageSettings();

        setFromSettings(template, settings);

        settings.setBody(template.getBody());

        final MimeMessageHelper message = createMessage(settings,
                template.isHtml() || !template.getAttachments().isEmpty());
        message.setSubject(template.getSubject());

        final Map<String, InputStream> attachments = template.getAttachments();

        for (final Map.Entry<String, InputStream> attachment : attachments.entrySet()) {
            message.addAttachment(attachment.getKey(),
                    new ByteArrayResource(IOUtils.toByteArray(attachment.getValue())));
        }

        if (template.isHtml()) {
            message.setText("[You need html supported mail client to read this email]", template.getBody());
        } else {
            message.setText(template.getBody());
        }

        if (template.getMailRecipients().size() == 0) {
            this.log.info("No recipients specified, mail not sent.");
        }

        for (MailRecipient recipient : template.getMailRecipients()) {
            if (recipient.getEmail() != null) {
                final MailRecipientType type = recipient.getType();

                switch (type) {
                case TO_RECIPIENT:
                    message.addTo(recipient.getEmail(), recipient.getName());
                    break;
                case BCC_RECIPIENT:
                    message.addBcc(recipient.getEmail(), recipient.getName());
                    break;
                case CC_RECIPIENT:
                    message.addCc(recipient.getEmail(), recipient.getName());
                    break;
                default:
                    throw new RuntimeException("Unknown recipient type: " + type);
                }
            }
        }

        sendMessage(message);
    } catch (Exception e) {
        this.log.error("Failed to send mail", e);
    }
}

From source file:com.epam.ta.reportportal.util.email.EmailService.java

public void sendConfirmationEmail(CreateUserRQFull req, String basicUrl) {
    MimeMessagePreparator preparator = mimeMessage -> {
        URL logoImg = this.getClass().getClassLoader().getResource(LOGO);
        MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "utf-8");
        message.setSubject("Welcome to Report Portal");
        message.setTo(req.getEmail());/*from  www  . jav  a  2  s  . co  m*/
        setFrom(message);

        Map<String, Object> email = new HashMap<>();
        email.put("url", basicUrl);
        email.put("login", normalizeUsername(req.getLogin()));
        email.put("password", req.getPassword());
        String text = templateEngine.merge("create-user-template.vm", email);
        message.setText(text, true);
        message.addInline("logoimg", new UrlResource(logoImg));
    };
    this.send(preparator);
}