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 text) throws MessagingException 

Source Link

Document

Set the given text directly as content in non-multipart mode or as default body part in multipart mode.

Usage

From source file:org.openvpms.web.workspace.reporting.statement.StatementEmailProcessor.java

/**
 * Processes a statement./*  ww w. j  av a2s .c  o  m*/
 *
 * @param statement the event to process
 * @throws OpenVPMSException for any error
 */
public void process(Statement statement) {
    try {
        MimeMessage message = sender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        List<Contact> contacts = statement.getContacts();
        if (contacts.isEmpty()) {
            throw new StatementProcessorException(NoContact, statement.getCustomer());
        }
        Contact contact = contacts.get(0);
        IMObjectBean bean = new IMObjectBean(contact);
        if (!bean.isA(ContactArchetypes.EMAIL)) {
            throw new StatementProcessorException(NoContact, statement.getCustomer());
        }
        String to = bean.getString("emailAddress");
        EmailAddress email = addresses.getAddress(statement.getCustomer());
        helper.setFrom(email.getAddress(), email.getName());
        helper.setTo(to);
        helper.setSubject(emailSubject);
        helper.setText(emailText);
        Iterable<IMObject> objects = getActs(statement);
        Reporter reporter = ReporterFactory.create(objects, template, TemplatedReporter.class);
        reporter.setParameters(getParameters(statement));
        reporter.setFields(fields);
        final Document doc = reporter.getDocument(DocFormats.PDF_TYPE, true);

        final DocumentHandler handler = handlers.get(doc.getName(), doc.getArchetypeId().getShortName(),
                doc.getMimeType());

        helper.addAttachment(doc.getName(), new InputStreamSource() {
            public InputStream getInputStream() {
                return handler.getContent(doc);
            }
        });
        sender.send(message);
        if (!statement.isPreview() && !statement.isPrinted()) {
            setPrinted(statement);
        }
    } catch (ArchetypeServiceException exception) {
        throw exception;
    } catch (StatementProcessorException exception) {
        throw exception;
    } catch (Throwable exception) {
        throw new StatementProcessorException(exception, FailedToProcessStatement, exception.getMessage());
    }
}

From source file:org.osaf.cosmo.service.account.EmailAccountActivator.java

public void sendActivationMessage(final User user, final ActivationContext activationContext) {

    mailSender.send(new MimeMessagePreparator() {
        public void prepare(MimeMessage mimeMessage) throws MessagingException {

            Locale locale = activationContext.getLocale();

            User sender = activationContext.getSender();
            String fromAddr = sender.getEmail();
            String fromHandle = messageSource.getMessage(MSG_ACTIVATION_HANDLE, new Object[] {}, locale);

            String subject = messageSource.getMessage(MSG_ACTIVATION_SUBJECT,
                    new Object[] { user.getUsername() }, locale);

            String text = messageSource.getMessage(MSG_ACTIVATION_TEXT,
                    new Object[] { user.getUsername(), activationContext.getHostname(),
                            activationContext.getActivationLink(user.getActivationId()) },
                    locale);//from   w w  w . j  ava2  s  .  c  om

            MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
            message.setFrom("\"" + fromHandle + "\" <" + fromAddr + ">");
            message.setTo(user.getEmail());
            message.setSubject(subject);
            message.setText(text);
        }
    });
    log.info("Account activation link sent to " + user.getEmail());

}

From source file:org.osaf.cosmo.service.account.EmailPasswordRecoverer.java

public void sendRecovery(final PasswordRecovery passwordRecovery,
        final PasswordRecoveryMessageContext context) {
    // Create final variable so it is available in message preparator below 
    final User user = passwordRecovery.getUser();

    mailSender.send(new MimeMessagePreparator() {
        public void prepare(MimeMessage mimeMessage) throws MessagingException {

            Locale locale = context.getLocale();

            User sender = context.getSender();
            String fromAddr = sender.getEmail();
            String fromHandle = messageSource.getMessage(MSG_PASSWORD_RECOVERY_HANDLE, new Object[] {}, locale);

            String subject = messageSource.getMessage(MSG_PASSWORD_RECOVERY_SUBJECT,
                    new Object[] { user.getUsername() }, locale);

            String text = messageSource.getMessage(MSG_PASSWORD_RECOVERY_TEXT,
                    new Object[] { user.getUsername(), context.getHostname(), context.getRecoveryLink() },
                    locale);//from   w w w  .  j av  a2 s.  c  o m

            MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
            message.setFrom("\"" + fromHandle + "\" <" + fromAddr + ">");
            message.setTo(user.getEmail());
            message.setSubject(subject);
            message.setText(text);
        }
    });
    log.info("Password recovery link sent to " + user.getEmail() + " with key " + passwordRecovery.getKey());

}

From source file:org.osaf.cosmo.ui.account.CredentialsReminderFormController.java

/**
 * Looks up the user for the entered email address and:
 *
 * <ul>/*ww  w . ja v  a2s .  co m*/
 * <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.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;/*from  w  ww . j a v  a  2  s. co m*/
    }
    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 www  . ja va  2  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.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 {//from   www  .ja  v  a 2s . c  o  m
        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 a  v  a  2s  .  com
    if (!StringUtils.isBlank(bcc)) {
        helper.setBcc(bcc.split("\\s*,\\s*"));
    }
    helper.setSubject(subject);
    helper.setText(body);
    mailSender.send(helper.getMimeMessage());
}

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

/**
 * Send an email with an attachment//from  w  w w. ja v  a2  s  .  c  o m
 *
 * @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());
}

From source file:ubic.gemma.util.MailEngineImpl.java

/**
 * Convenience method for sending messages with attachments.
 * //from   www.  ja v a 2 s. com
 * @param emailAddresses
 * @param resource to be attached
 * @param bodyText
 * @param subject
 * @param attachmentName
 * @throws MessagingException
 * @author Ben Gill
 */
@Override
public void sendMessage(String[] emailAddresses, ClassPathResource resource, String bodyText, String subject,
        String attachmentName) throws MessagingException {
    MimeMessage message = ((JavaMailSenderImpl) mailSender).createMimeMessage();

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

    helper.setTo(emailAddresses);
    helper.setText(bodyText);
    helper.setSubject(subject);

    helper.addAttachment(attachmentName, resource);

    ((JavaMailSenderImpl) mailSender).send(message);
}