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:org.osaf.cosmo.ui.account.CredentialsReminderFormController.java

/**
 * Looks up the user for the entered email address and:
 *
 * <ul>// ww w. j  a  v a  2s  .com
 * <li> If the username button was clicked, sends a reminder email
 * containing the username to the user's email address
 * <li> If the password button was clicked, reset's the user's
 * password and sends a confirmation email containing the new
 * password to the user's email address
 * </ul>
 *
 * @see UIConstants#FWD_OK
 *
public ModelAndView handleRequestInternal(HttpServletRequest request,
                                      HttpServletResponse response) throws Exception {
        
throws Exception {
BeanValidatorForm forgotForm = (BeanValidatorForm) form;
String email = (String) forgotForm.get(FORM_EMAIL);
User user = null;
try {
    user = userService.getUserByEmail(email);
} catch (DataRetrievalFailureException e) {
    saveErrorMessage(request, MSG_ERROR_EMAIL_NOT_FOUND);
    return mapping.findForward(UIConstants.FWD_FAILURE);
}
        
if (wasUsernameButtonClicked(forgotForm)) {
    sendUsernameReminderMessage(request, response, user);
    saveConfirmationMessage(request, MSG_CONFIRM_USERNAME);
}
if (wasPasswordButtonClicked(forgotForm)) {
    String newPassword = userService.generatePassword();
    user.setPassword(newPassword);
    userService.updateUser(user);
    sendPasswordResetMessage(request, response, user, newPassword);
    saveConfirmationMessage(request, MSG_CONFIRM_PASSWORD);
}
        
return mapping.findForward(UIConstants.FWD_OK);
}
        
public boolean wasUsernameButtonClicked(BeanValidatorForm form) {
return form.get(FORM_BUTTON_USERNAME) != null;
}
        
public boolean wasPasswordButtonClicked(BeanValidatorForm form) {
return form.get(FORM_BUTTON_PASSWORD) != null;
}
        
private void sendUsernameReminderMessage(final HttpServletRequest request,
                                     final HttpServletResponse response,
                                     final User user) {
mailSender.send(new MimeMessagePreparator() {
        public void prepare(MimeMessage mimeMessage)
            throws MessagingException {
            MessageResources resources = getResources(request);
            Locale locale = getLocale(request);
        
            User rootUser = userService.getUser(User.USERNAME_OVERLORD);
            String fromAddr = (String) getServlet().getServletContext().
                getAttribute(CosmoConstants.SC_ATTR_SERVER_ADMIN);
            String fromHandle =
                resources.getMessage(locale,
                                     MSG_USERNAME_REMINDER_FROMHANDLE);
            String subject =
                resources.getMessage(locale,
                                     MSG_USERNAME_REMINDER_SUBJECT);
            String text =
                resources.getMessage(locale,
                                     MSG_USERNAME_REMINDER_TEXT,
                                     user.getUsername(),
                                     getContextRelativeURL(request,
                                                           "/"),
                                     rootUser.getEmail());
        
            MimeMessageHelper message =
                new MimeMessageHelper(mimeMessage);
            message.setFrom("\"" + fromHandle + "\" <" + fromAddr +
                            ">");
            message.setTo(user.getEmail());
            message.setSubject(subject);
            message.setText(text);
        }
    });
}
*/
private void sendPasswordResetMessage(final HttpServletRequest request, final HttpServletResponse response,
        final User user, final String newPassword) {
    mailSender.send(new MimeMessagePreparator() {
        public void prepare(MimeMessage mimeMessage) throws MessagingException {
            Locale locale = request.getLocale();

            User rootUser = userService.getUser(User.USERNAME_OVERLORD);
            String fromAddr = rootUser.getEmail();
            String fromHandle = messageSource.getMessage(MSG_PASSWORD_RESET_FROMHANDLE, new Object[] {},
                    locale);

            String subject = messageSource.getMessage(MSG_PASSWORD_RESET_SUBJECT, new Object[] {}, locale);
            String text = messageSource.getMessage(MSG_PASSWORD_RESET_TEXT,
                    new Object[] { newPassword, request.getContextPath(), rootUser.getEmail() }, locale);
            MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
            message.setFrom("\"" + fromHandle + "\" <" + fromAddr + ">");
            message.setTo(user.getEmail());
            message.setSubject(subject);
            message.setText(text);
        }
    });
}

From source file:org.oscarehr.renal.web.RenalAction.java

public ActionForward sendPatientLetterAsEmail(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response) {
    String demographicNo = request.getParameter("demographic_no");
    String error = "";
    boolean success = true;
    JSONObject json = new JSONObject();

    final Demographic d = demographicDao.getDemographic(demographicNo);

    if (d == null) {
        error = "Patient not found.";
        success = false;// w w w .j a  v a2s.c o  m
    }
    if (d.getEmail() == null || d.getEmail().length() == 0 || d.getEmail().indexOf("@") == -1) {
        error = "No valid email address found for patient.";
        success = false;
    }

    if (success) {

        try {
            String documentDir = oscar.OscarProperties.getInstance().getProperty("DOCUMENT_DIR", "");
            File f = new File(documentDir, "orn_patient_letter.txt");
            String template = IOUtils.toString(new FileInputStream(f));

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

            VelocityContext velocityContext = VelocityUtils.createVelocityContextWithTools();
            velocityContext.put("patient", d);
            velocityContext.put("currentDate", sdf.format(new Date()));
            Provider mrp = null;
            if (d.getProviderNo() != null && d.getProviderNo().length() > 0) {
                mrp = providerDao.getProvider(d.getProviderNo());
            } else {
                mrp = providerDao.getProvider(OscarProperties.getInstance().getProperty("orn.default_mrp", ""));
            }
            velocityContext.put("mrp", mrp);

            final String mrp1 = mrp.getFullName();

            final String letter = VelocityUtils.velocityEvaluate(velocityContext, template);

            JavaMailSender mailSender = (JavaMailSender) SpringUtils.getBean("mailSender");

            MimeMessagePreparator preparator = new MimeMessagePreparator() {
                public void prepare(MimeMessage mimeMessage) throws Exception {
                    MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
                    message.setTo(d.getEmail());
                    message.setSubject(OscarProperties.getInstance().getProperty("orn.email.subject",
                            "Important Message from " + mrp1));
                    message.setFrom(OscarProperties.getInstance().getProperty("orn.email.from",
                            "no-reply@oscarmcmaster.org"));
                    message.setText(letter, true);
                }
            };
            mailSender.send(preparator);

        } catch (IOException e) {
            MiscUtils.getLogger().error("Error", e);
            success = false;
            error = e.getMessage();
        } finally {
            OscarAuditLogger.getInstance().log("create", "CkdPatientLetter", Integer.valueOf(demographicNo),
                    "");
            OscarAuditLogger.getInstance().log("email", "CkdPatientLetter", Integer.valueOf(demographicNo), "");
        }
    }
    json.put("success", String.valueOf(success));
    json.put("error", error);
    try {
        json.write(response.getWriter());
    } catch (IOException e) {
        MiscUtils.getLogger().error("error", e);
    }
    return null;
}

From source file:org.patientview.monitoring.ImportMonitor.java

public static void sendEmail(String from, String[] to, String[] bcc, String subject, String body) {
    if (StringUtils.isBlank(from)) {
        throw new IllegalArgumentException("Cannot send mail missing 'from'");
    }//from   w  w w .  ja  v a 2s .c o m

    if ((to == null || to.length == 0) && (bcc == null || bcc.length == 0)) {
        throw new IllegalArgumentException("Cannot send mail missing recipients");
    }

    if (StringUtils.isBlank(subject)) {
        throw new IllegalArgumentException("Cannot send mail missing 'subject'");
    }

    if (StringUtils.isBlank(body)) {
        throw new IllegalArgumentException("Cannot send mail missing 'body'");
    }

    ApplicationContext context = new ClassPathXmlApplicationContext(
            new String[] { "classpath*:context-standalone.xml" });

    JavaMailSender javaMailSender = (JavaMailSender) context.getBean("javaMailSender");

    MimeMessage message = javaMailSender.createMimeMessage();
    MimeMessageHelper messageHelper;

    try {
        messageHelper = new MimeMessageHelper(message, true);
        messageHelper.setTo(to);
        if (bcc != null && bcc.length > 0) {
            Address[] bccAddresses = new Address[bcc.length];
            for (int i = 0; i < bcc.length; i++) {
                bccAddresses[i] = new InternetAddress(bcc[i]);
            }
            message.addRecipients(Message.RecipientType.BCC, bccAddresses);
        }
        messageHelper.setFrom(from);
        messageHelper.setSubject(subject);
        messageHelper.setText(body, false); // Note: the second param indicates to send plaintext

        javaMailSender.send(messageHelper.getMimeMessage());

        LOGGER.info("Sent an email about Importer issues. From: {} To: {}", from, Arrays.toString(to));
    } catch (Exception e) {
        LOGGER.error("Could not send email: {}", e);
    }
}

From source file:org.sipfoundry.sipxconfig.admin.mail.MailSenderContextImpl.java

public void sendMail(String to, String from, String subject, String body, File... files) {
    if (files == null || files.length == 0) {
        sendMail(to, from, subject, body);
        return;//w ww . java  2  s .  com
    }
    try {
        MimeMessage msg = m_mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(msg, true);
        helper.setTo(getFullAddress(to));
        helper.setFrom(getFullAddress(from));
        helper.setSubject(subject);
        helper.setText(body);

        for (File f : files) {
            helper.addAttachment(f.getName(), f);
        }
        m_mailSender.send(msg);
    } catch (MailException e) {
        LOG.error(e);
    } catch (MessagingException e) {
        LOG.error(e);
    }
}

From source file:org.springframework.integration.samples.mailattachments.MimeMessageParsingTest.java

/**
 * This test will create a Mime Message that contains an Attachment, send it
 * to an SMTP Server (Using Wiser) and retrieve and process the Mime Message.
 *
 * This test verifies that the parsing of the retrieved Mime Message is
 * successful and that the correct number of {@link EmailFragment}s is created.
 *///from  w  w  w .j a  v  a2  s. c o  m
@Test
public void testProcessingOfEmailAttachments() {

    final JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
    mailSender.setPort(this.wiserPort);

    final MimeMessage message = mailSender.createMimeMessage();
    final String pictureName = "picture.png";

    final ByteArrayResource byteArrayResource = getFileData(pictureName);

    try {

        final MimeMessageHelper helper = new MimeMessageHelper(message, true);

        helper.setFrom("testfrom@springintegration.org");
        helper.setTo("testto@springintegration.org");
        helper.setSubject("Parsing of Attachments");
        helper.setText("Spring Integration Rocks!");

        helper.addAttachment(pictureName, byteArrayResource, "image/png");

    } catch (MessagingException e) {
        throw new MailParseException(e);
    }

    mailSender.send(message);

    final List<WiserMessage> wiserMessages = wiser.getMessages();

    Assert.assertTrue(wiserMessages.size() == 1);

    boolean foundTextMessage = false;
    boolean foundPicture = false;

    for (WiserMessage wiserMessage : wiserMessages) {

        final List<EmailFragment> emailFragments = new ArrayList<EmailFragment>();

        try {
            final MimeMessage mailMessage = wiserMessage.getMimeMessage();
            EmailParserUtils.handleMessage(null, mailMessage, emailFragments);
        } catch (MessagingException e) {
            throw new IllegalStateException("Error while retrieving Mime Message.");
        }

        Assert.assertTrue(emailFragments.size() == 2);

        for (EmailFragment emailFragment : emailFragments) {
            if ("picture.png".equals(emailFragment.getFilename())) {
                foundPicture = true;
            }

            if ("message.txt".equals(emailFragment.getFilename())) {
                foundTextMessage = true;
            }
        }

        Assert.assertTrue(foundPicture);
        Assert.assertTrue(foundTextMessage);

    }
}

From source file:org.springframework.integration.samples.mailattachments.MimeMessageParsingTest.java

/**
 * This test will create a Mime Message that in return contains another
 * mime message. The nested mime message contains an attachment.
 *
 * The root message consist of both HTML and Text message.
 *
 *//*  ww  w .  jav a  2 s  .c o m*/
@Test
public void testProcessingOfNestedEmailAttachments() {

    final JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
    mailSender.setPort(this.wiserPort);

    final MimeMessage rootMessage = mailSender.createMimeMessage();

    try {

        final MimeMessageHelper messageHelper = new MimeMessageHelper(rootMessage, true);

        messageHelper.setFrom("testfrom@springintegration.org");
        messageHelper.setTo("testto@springintegration.org");
        messageHelper.setSubject("Parsing of Attachments");
        messageHelper.setText("Spring Integration Rocks!", "Spring Integration <b>Rocks</b>!");

        final String pictureName = "picture.png";

        final ByteArrayResource byteArrayResource = getFileData(pictureName);

        messageHelper.addInline("picture12345", byteArrayResource, "image/png");

    } catch (MessagingException e) {
        throw new MailParseException(e);
    }

    mailSender.send(rootMessage);

    final List<WiserMessage> wiserMessages = wiser.getMessages();

    Assert.assertTrue(wiserMessages.size() == 1);

    boolean foundTextMessage = false;
    boolean foundPicture = false;
    boolean foundHtmlMessage = false;

    for (WiserMessage wiserMessage : wiserMessages) {

        List<EmailFragment> emailFragments = new ArrayList<EmailFragment>();

        try {

            final MimeMessage mailMessage = wiserMessage.getMimeMessage();
            EmailParserUtils.handleMessage(null, mailMessage, emailFragments);

        } catch (MessagingException e) {
            throw new IllegalStateException("Error while retrieving Mime Message.");
        }

        Assert.assertTrue(emailFragments.size() == 3);

        for (EmailFragment emailFragment : emailFragments) {
            if ("<picture12345>".equals(emailFragment.getFilename())) {
                foundPicture = true;
            }

            if ("message.txt".equals(emailFragment.getFilename())) {
                foundTextMessage = true;
            }

            if ("message.html".equals(emailFragment.getFilename())) {
                foundHtmlMessage = true;
            }
        }

        Assert.assertTrue(foundPicture);
        Assert.assertTrue(foundTextMessage);
        Assert.assertTrue(foundHtmlMessage);

    }
}

From source file:org.thingsboard.rule.engine.mail.TbSendEmailNode.java

private void sendEmail(TbContext ctx, EmailPojo email) throws Exception {
    if (this.config.isUseSystemSmtpSettings()) {
        ctx.getMailService().send(email.getFrom(), email.getTo(), email.getCc(), email.getBcc(),
                email.getSubject(), email.getBody());
    } else {// ww w .j  a  v a  2 s  . com
        MimeMessage mailMsg = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mailMsg, "UTF-8");
        helper.setFrom(email.getFrom());
        helper.setTo(email.getTo().split("\\s*,\\s*"));
        if (!StringUtils.isBlank(email.getCc())) {
            helper.setCc(email.getCc().split("\\s*,\\s*"));
        }
        if (!StringUtils.isBlank(email.getBcc())) {
            helper.setBcc(email.getBcc().split("\\s*,\\s*"));
        }
        helper.setSubject(email.getSubject());
        helper.setText(email.getBody());
        mailSender.send(helper.getMimeMessage());
    }
}

From source file:org.thingsboard.server.service.mail.DefaultMailService.java

@Override
public void send(String from, String to, String cc, String bcc, String subject, String body)
        throws MessagingException {
    MimeMessage mailMsg = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(mailMsg, "UTF-8");
    helper.setFrom(StringUtils.isBlank(from) ? mailFrom : from);
    helper.setTo(to.split("\\s*,\\s*"));
    if (!StringUtils.isBlank(cc)) {
        helper.setCc(cc.split("\\s*,\\s*"));
    }/*from w  w w  .  j av  a 2s  .  c  o  m*/
    if (!StringUtils.isBlank(bcc)) {
        helper.setBcc(bcc.split("\\s*,\\s*"));
    }
    helper.setSubject(subject);
    helper.setText(body);
    mailSender.send(helper.getMimeMessage());
}

From source file:org.thingsboard.server.service.mail.DefaultMailService.java

private void sendMail(JavaMailSenderImpl mailSender, String mailFrom, String email, String subject,
        String message) throws ThingsboardException {
    try {/*from   w w  w  .  ja  v  a 2s  .c  o  m*/
        MimeMessage mimeMsg = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMsg, UTF_8);
        helper.setFrom(mailFrom);
        helper.setTo(email);
        helper.setSubject(subject);
        helper.setText(message, true);
        mailSender.send(helper.getMimeMessage());
    } catch (Exception e) {
        throw handleException(e);
    }
}

From source file:org.wso2.security.tools.automation.manager.handler.MailHandler.java

/**
 * Send an email with an attachment//  ww  w  .j av a  2 s.  c om
 *
 * @param to                 To whom the email is sent
 * @param subject            Email subject
 * @param body               Email body
 * @param inputStream        Input stream of an attachment
 * @param attachmentFileName Attachment file name
 * @throws MessagingException Exceptions thrown by the Messaging classes
 * @throws IOException        Signals that an I/O exception of some sort has occurred
 */
public void sendMail(String to, String subject, String body, InputStream inputStream, String attachmentFileName)
        throws MessagingException, IOException {
    LOGGER.info("Sending email");
    MimeMessage mimeMessage = mailSender.createMimeMessage();
    MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
    mimeMessageHelper.setSubject(subject);
    mimeMessageHelper.setTo(to);
    mimeMessageHelper.setText(body);
    mimeMessageHelper.addAttachment(attachmentFileName,
            new ByteArrayResource(IOUtils.toByteArray(inputStream)));
    mailSender.send(mimeMessageHelper.getMimeMessage());
}