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:com.indicator_engine.controller.RegistrationController.java

@RequestMapping(value = "/register", method = RequestMethod.POST)
public String processRegistrationForm(@Valid @ModelAttribute("RegisterForm") RegistrationForm RegisterForm,
        BindingResult bindingResult, Map<String, Object> model) {
    if (bindingResult.hasErrors()) {
        return "app/register";
    }/*from w  ww  .j  a  v  a  2s  .c  o m*/
    UserCredentialsDao userDetailsBean = (UserCredentialsDao) appContext.getBean("userDetails");
    MimeMessage message = mailSender.createMimeMessage();
    String errorMsg;
    String uname = RegisterForm.getUserName();
    String password = RegisterForm.getPassword();
    String hashedPassword = encoder.encode(password);
    Date dob = RegisterForm.getDob();
    java.sql.Date sqlStartDate = null;
    sqlStartDate = new java.sql.Date(dob.getTime());
    String email = RegisterForm.getEmail();
    // Error Handling Not done Yet. Synchronize Java Script checks + Server Side checks. Eliminate redundant checks
    if (uname == null || email == null || password == null)
        errorMsg = "Error : Please Check your ";
    UserCredentials uc = new UserCredentials(uname, hashedPassword,
            new UserProfile(" ", " ", sqlStartDate, 0, " ", " ", " ", 0, " ", email));
    userDetailsBean.add(uc);
    try {
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        helper.setFrom("goalla@rwth-aachen.de");
        helper.setTo(uc.getUp().getEmailid());
        helper.setSubject("One Time Password for Verification");

        /*Map<String, Object> modelMsg = new HashMap<String, Object>();
        model.put("UserName", uc.getUname());
        model.put("EmailID", uc.getUp().getEmailid());
        model.put("DOB", uc.getUp().getDob());
        model.put("OTP", uc.getOtp());
        String emailText = VelocityEngineUtils.mergeTemplateIntoString(
            velocityEngine, "registrationEmailTemplate.vm", "UTF-8", modelMsg); */

        helper.setText("OTP For Verification :  " + uc.getOtp());
        /*FileSystemResource couponImage =
           new FileSystemResource("logo.png");
        helper.addAttachment("logo.png", logoImage);
        ClassPathResource image = new ClassPathResource("rwth.png");
        helper.addInline("UniLogo", image); */
    } catch (javax.mail.MessagingException ex) {
    }
    mailSender.send(message);
    model.put("msg", uc.getUid());
    return "app/registration_success";
}

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

public void sendInvite(final MailingListEntry invitation) throws InfrastructureException {
    // send mail/*from  ww w  . j  a  v  a  2  s .c om*/
    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:com.marc.lastweek.business.services.mail.impl.MailServiceImpl.java

private MimeMessagePreparator getMimeMessagePreparator(final Locale locale, final String templateName,
        final Map<String, Object> templateData, final String mailTo) {

    MimeMessagePreparator preparator = new MimeMessagePreparator() {
        public void prepare(MimeMessage mimeMessage) throws MessagingException {
            MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true);

            // Set message attributes
            message.setTo(mailTo);/*from  w  w  w  . j a v a  2  s. co m*/
            message.setFrom(MailServiceImpl.this.from);
            message.setSubject(getMailMessageEntry(locale, templateName + FIELD_SUBJECT));

            // Add parameters
            Map<String, Object> model = new HashMap<String, Object>();
            model.put("locale", locale);
            model.put("dateTool", new DateTool());
            model.put("resourceTool", new ResourceTool());

            // Insert data in the template
            for (String name : templateData.keySet()) {
                model.put(name, templateData.get(name));
            }

            String text = VelocityEngineUtils.mergeTemplateIntoString(MailServiceImpl.this.velocityEngine,
                    MailServiceImpl.this.velocityTemplates.get(templateName), CHARSET, model);
            message.setText(text, true);

            // Insert stylesheet
            //ClassPathResource stylesheet = new ClassPathResource("templates/email.css", MailServiceImpl.class);
            //                ClassPathResource stylesheet = new ClassPathResource(MAIL_STYLESHEET, );
            //                message.addInline("email.css", stylesheet, "text/css");                        
        }
    };
    return preparator;
}

From source file:com.gst.infrastructure.reportmailingjob.service.ReportMailingJobEmailServiceImpl.java

@Override
public void sendEmailWithAttachment(ReportMailingJobEmailData reportMailingJobEmailData) {
    try {/*from  www  . j  a va2s .  co m*/
        // get all ReportMailingJobConfiguration objects from the database
        this.reportMailingJobConfigurationDataCollection = this.reportMailingJobConfigurationReadPlatformService
                .retrieveAllReportMailingJobConfigurations();

        JavaMailSenderImpl javaMailSenderImpl = new JavaMailSenderImpl();
        javaMailSenderImpl.setHost(this.getGmailSmtpServer());
        javaMailSenderImpl.setPort(this.getGmailSmtpPort());
        javaMailSenderImpl.setUsername(this.getGmailSmtpUsername());
        javaMailSenderImpl.setPassword(this.getGmailSmtpPassword());
        javaMailSenderImpl.setJavaMailProperties(this.getJavaMailProperties());

        MimeMessage mimeMessage = javaMailSenderImpl.createMimeMessage();

        // use the true flag to indicate you need a multipart message
        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);

        mimeMessageHelper.setTo(reportMailingJobEmailData.getTo());
        mimeMessageHelper.setText(reportMailingJobEmailData.getText());
        mimeMessageHelper.setSubject(reportMailingJobEmailData.getSubject());

        if (reportMailingJobEmailData.getAttachment() != null) {
            mimeMessageHelper.addAttachment(reportMailingJobEmailData.getAttachment().getName(),
                    reportMailingJobEmailData.getAttachment());
        }

        javaMailSenderImpl.send(mimeMessage);
    }

    catch (MessagingException e) {
        // handle the exception
        e.printStackTrace();
    }
}

From source file:alfio.manager.system.SmtpMailer.java

@Override
public void send(Event event, String to, List<String> cc, String subject, String text, Optional<String> html,
        Attachment... attachments) {/* w  w w  . j a v  a2  s  .c  o m*/
    MimeMessagePreparator preparator = (mimeMessage) -> {
        MimeMessageHelper message = html.isPresent() || !ArrayUtils.isEmpty(attachments)
                ? new MimeMessageHelper(mimeMessage, true, "UTF-8")
                : new MimeMessageHelper(mimeMessage, "UTF-8");
        message.setSubject(subject);
        message.setFrom(
                configurationManager.getRequiredValue(
                        Configuration.from(event.getOrganizationId(), event.getId(), SMTP_FROM_EMAIL)),
                event.getDisplayName());
        String replyTo = configurationManager.getStringConfigValue(
                Configuration.from(event.getOrganizationId(), event.getId(), MAIL_REPLY_TO), "");
        if (StringUtils.isNotBlank(replyTo)) {
            message.setReplyTo(replyTo);
        }
        message.setTo(to);
        if (cc != null && !cc.isEmpty()) {
            message.setCc(cc.toArray(new String[cc.size()]));
        }
        if (html.isPresent()) {
            message.setText(text, html.get());
        } else {
            message.setText(text, false);
        }

        if (attachments != null) {
            for (Attachment a : attachments) {
                message.addAttachment(a.getFilename(), new ByteArrayResource(a.getSource()),
                        a.getContentType());
            }
        }

        message.getMimeMessage().saveChanges();
        message.getMimeMessage().removeHeader("Message-ID");
    };
    toMailSender(event).send(preparator);
}

From source file:eu.openanalytics.shinyproxy.controllers.IssueController.java

public void sendSupportMail(IssueForm form, Proxy proxy) {
    String supportAddress = getSupportAddress();
    if (supportAddress == null)
        throw new RuntimeException("Cannot send mail: no support address configured");
    if (mailSender == null)
        throw new RuntimeException("Cannot send mail: no smtp settings configured");

    try {/*w  w w  .  ja  va2 s.  c  om*/
        MimeMessage message = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true);

        // Headers
        helper.setFrom(environment.getProperty("proxy.support.mail-from-address", "issues@shinyproxy.io"));
        helper.addTo(supportAddress);
        helper.setSubject("ShinyProxy Error Report");

        // Body
        StringBuilder body = new StringBuilder();
        String lineSep = System.getProperty("line.separator");
        body.append(String.format("This is an error report generated by ShinyProxy%s", lineSep));
        body.append(String.format("User: %s%s", form.userName, lineSep));
        if (form.appName != null)
            body.append(String.format("App: %s%s", form.appName, lineSep));
        if (form.currentLocation != null)
            body.append(String.format("Location: %s%s", form.currentLocation, lineSep));
        if (form.customMessage != null)
            body.append(String.format("Message: %s%s", form.customMessage, lineSep));
        helper.setText(body.toString());

        // Attachments (only if container-logging is enabled)
        if (logService.isLoggingEnabled() && proxy != null) {
            Path[] filePaths = logService.getLogFiles(proxy);
            for (Path p : filePaths) {
                if (Files.exists(p))
                    helper.addAttachment(p.toFile().getName(), p.toFile());
            }
        }

        mailSender.send(message);
    } catch (Exception e) {
        throw new RuntimeException("Failed to send email", e);
    }
}

From source file:cdr.forms.EmailNotificationHandler.java

private void sendReceipt(HashMap<String, Object> model, Form form, String recipient) {

    if (recipient == null || recipient.trim().length() == 0)
        return;/*from   w  w w  .  ja  va2  s. c  o  m*/

    StringWriter htmlsw = new StringWriter();
    StringWriter textsw = new StringWriter();
    try {
        depositReceiptHtmlTemplate.process(model, htmlsw);
        depositReceiptTextTemplate.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);
        message.addTo(recipient);
        message.setSubject("Deposit Receipt for " + form.getTitle());
        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:info.jtrac.mail.MailSender.java

public void sendUserPassword(User user, String clearText) {
    if (sender == null) {
        logger.debug("mail sender is null, not sending new user / password change notification");
        return;/*  w ww.  ja va  2s .  co m*/
    }
    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);
    }
    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);
    } catch (Exception e) {
        logger.error("failed to prepare e-mail", e);
    }
}

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);//from  w  w  w. ja va2  s. co 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.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. ja v  a2  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();
    }
}