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

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

Introduction

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

Prototype

public final MimeMessage getMimeMessage() 

Source Link

Document

Return the underlying MimeMessage object.

Usage

From source file:org.apache.niolex.commons.mail.EmailUtil.java

/**
 * Send an email./*w ww. ja  v a 2  s.  c o m*/
 * ????
 *
 * @param from the email sender
 * @param tos the email receivers array
 * @param ccs the carbon copiers array
 * @param title the email title
 * @param text the email body
 * @param attachments the email attachments list
 * @param priority priority from 1-5 the smaller is higher
 * @param isHtml is the text in HTML format or not
 * @param encoding the encoding of email, i.e. "GBK"?"UTF-8"
 * @throws MailException
 * @throws MessagingException
 */
public static void sendMail(String from, String[] tos, String[] ccs, String title, String text,
        List<Pair<String, InputStreamSource>> attachments, String priority, boolean isHtml, String encoding)
        throws MailException, MessagingException {
    MimeMessage mimeMessage = mailSender.createMimeMessage();
    MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, encoding);

    messageHelper.setFrom(from);
    messageHelper.setBcc(from);

    if (ArrayUtils.isEmpty(tos)) {
        throw new IllegalArgumentException("<tos> can not be null or empty!");
    } else {
        messageHelper.setTo(tos);
    }

    if (!ArrayUtils.isEmpty(ccs)) {
        messageHelper.setCc(ccs);
    }

    messageHelper.setSubject(title);
    messageHelper.setText(text, isHtml);

    if (attachments != null) {
        for (Pair<String, InputStreamSource> pair : attachments) {
            messageHelper.addAttachment(pair.a, pair.b);
        }
    }

    mimeMessage = messageHelper.getMimeMessage();
    if (priority != null) {
        mimeMessage.addHeader("X-Priority", priority);
    }

    mailSender.send(mimeMessage);
}

From source file:com.enonic.cms.core.mail.AbstractSendMailService.java

private void sendMessage(MimeMessageHelper message) {
    this.mailSender.send(message.getMimeMessage());
}

From source file:com.sivalabs.jcart.common.services.EmailService.java

public void sendEmail(String to, String subject, String content) {
    try {// ww  w . jav  a 2s.c  o  m
        // Prepare message using a Spring helper
        final MimeMessage mimeMessage = this.javaMailSender.createMimeMessage();
        final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8");
        message.setSubject(subject);
        message.setFrom(supportEmail);
        message.setTo(to);
        message.setText(content, true /* isHtml */);

        javaMailSender.send(message.getMimeMessage());
    } catch (MailException | MessagingException e) {
        log.error(e.getMessage(), e);
        throw new JCartException("Unable to send email");
    }
}

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

/**
 * Sends the error message by mail.//from   w  ww .  j  a  v a  2 s . c o m
 *
 * @param errorMail the {@link ErrorMail} object containing error mail properties
 * @return {@literal true} if the mail was offered to the SMTP server, otherwise {@literal false}
 */
public boolean sendErrorMail(ErrorMail errorMail) {
    if (!isActive()) {
        return false;
    }
    try {
        String template = getTemplate(MAIL_TEMPLATE);
        if (!StringUtils.hasText(template)) {
            logger.debug("Error mail template has no content");
            return false;
        }

        MimeMessageHelper helper = createMessage();
        helper = fillAddressDetails(helper);
        helper = addSubject(helper, errorMail);
        helper = addBody(helper, template, errorMail);

        mailSender.send(helper.getMimeMessage());
        return true;
    } catch (Exception e) {
        logger.error("Tried to send error mail, but the mail itself failed", e);
    }
    return false;
}

From source file:ru.mystamps.web.service.MailServiceImpl.java

@SuppressWarnings("PMD.UseObjectForClearerAPI")
private void sendMail(final String email, final String subject, final String text, final String tag) {

    try {/*w  w  w  . ja va 2 s .  c om*/
        // We're using MimeMessagePreparator only because of its capability of adding headers.
        // Otherwise we would use SimpleMailMessage class.
        MimeMessagePreparator preparator = new MimeMessagePreparator() {
            @Override
            @SuppressWarnings("PMD.SignatureDeclareThrowsException")
            public void prepare(MimeMessage mimeMessage) throws Exception {
                MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8");
                message.setValidateAddresses(true);
                message.setTo(email);
                message.setFrom(new InternetAddress(robotEmail, "My Stamps", "UTF-8"));
                message.setSubject(subject);
                message.setText(text);

                // see: http://documentation.mailgun.com/user_manual.html#sending-via-smtp
                message.getMimeMessage().addHeader("X-Mailgun-Tag", tag);
                if (testMode) {
                    message.getMimeMessage().addHeader("X-Mailgun-Drop-Message", "yes");
                }
            }
        };

        mailer.send(preparator);

    } catch (MailException ex) {
        throw new EmailSendingException("Can't send mail to e-mail " + email, ex);
    }
}

From source file:com.devnexus.ting.core.service.integration.GenericEmailToMimeMessageTransformer.java

@Transformer
public MimeMessage prepareMailToSpeaker(GenericEmail email) {

    final MimeMessage mimeMessage = this.mailSender.createMimeMessage();
    MimeMessageHelper messageHelper;
    try {//w w w  .  j  av  a 2  s  . c  om
        messageHelper = new MimeMessageHelper(mimeMessage, true);
        messageHelper.setText(email.getText(), email.getHtml());
        messageHelper.setFrom(email.getFrom());

        for (String emailToAddress : email.getTo()) {
            messageHelper.addTo(emailToAddress);
        }

        if (!email.getCc().isEmpty()) {
            for (String emailCcAddress : email.getCc()) {
                messageHelper.addCc(emailCcAddress);
            }
        }

        messageHelper.setSubject(email.getSubject());

    } catch (MessagingException e) {
        throw new IllegalStateException("Error creating mail message for email: " + email, e);
    }

    return messageHelper.getMimeMessage();
}

From source file:business.services.MailService.java

public void sendActivationEmail(@NotNull ActivationLink link) {
    // Send email to user
    try {/*from w ww  .j a  v a2s .c om*/
        MimeMessageHelper message = new MimeMessageHelper(mailSender.createMimeMessage());
        String recipient = link.getUser().getUsername();
        message.setTo(recipient);
        message.setFrom(getFrom(), fromName);
        message.setReplyTo(replyAddress, replyName);
        message.setSubject("PALGA-account activeren / Activate PALGA account");
        String activationLink = getLink("/#/activate/" + link.getToken());
        message.setText(String.format(activationEmailTemplate, activationLink));
        mailSender.send(message.getMimeMessage());
        log.info("Activation link token generated for " + recipient + ": " + link.getToken());
    } catch (MessagingException e) {
        log.error(e.getMessage());
        throw new EmailError("Email error: " + e.getMessage());
    } catch (UnsupportedEncodingException e) {
        log.error(e.getMessage());
        throw new EmailError("Email error: " + e.getMessage());
    }
}

From source file:business.services.MailService.java

public void notifyHubuser(User hubUser, List<LabRequestRepresentation> labRequests) {
    if (!hubUser.isHubUser()) {
        log.warn("The user is no hub user: " + hubUser.getUsername());
        return;//ww  w.j a  v  a  2s .  c  o  m
    }
    List<String> codes = new ArrayList<>();
    List<String> snippets = new ArrayList<>();
    for (LabRequestRepresentation labRequest : labRequests) {
        codes.add(labRequest.getLabRequestCode());
        String link = getLink("/#/lab-request/view/" + labRequest.getId());
        String snippet = String.format(hubUserNotificationLabSnippet, link, // %1
                labRequest.getLabRequestCode(), // %2
                labRequest.getRequest().getTitle(), // %3
                labRequest.getLab().getNumber(), // %4
                labRequest.getLab().getName(), // %5
                labRequest.getRequesterName(), // %6
                labRequest.getRequest().getPathologistName() == null ? ""
                        : labRequest.getRequest().getPathologistName(), // %7
                labRequest.getRequesterLab().getNumber(), // %8
                labRequest.getRequesterLab().getName() // %9
        );
        snippets.add(snippet);
    }
    String labRequestCodes = String.join(", ", codes);
    String labRequestSnippets = String.join("\n", snippets);

    log.info("Notify hub user " + hubUser.getUsername() + " for lab requests " + labRequestCodes + ".");

    if (hubUser.getContactData() == null || hubUser.getContactData().getEmail() == null
            || hubUser.getContactData().getEmail().trim().isEmpty()) {
        log.warn("No email address set for hub user " + hubUser.getUsername());
        return;
    }
    log.info("Sending notification to " + hubUser.getContactData().getEmail());
    try {
        MimeMessageHelper message = new MimeMessageHelper(mailSender.createMimeMessage());
        message.setTo(hubUser.getContactData().getEmail());
        message.setFrom(getFrom(), fromName);
        message.setReplyTo(replyAddress, replyName);
        message.setSubject(
                String.format("PALGA-verzoek aan laboratoria, aanvraagnummers: %s", labRequestCodes));
        String body = String.format(hubUserNotificationTemplate, labRequestSnippets /* %1 */);
        message.setText(body);
        mailSender.send(message.getMimeMessage());
    } catch (MessagingException e) {
        log.error(e.getMessage());
        throw new EmailError("Email error: " + e.getMessage());
    } catch (UnsupportedEncodingException e) {
        log.error(e.getMessage());
        throw new EmailError("Email error: " + e.getMessage());
    }
}

From source file:com.devnexus.ting.core.service.impl.CfpToMailTransformer.java

public MimeMessage prepareMailToSpeaker(CfpSubmission cfpSubmission) {

    String templateHtml = SystemInformationUtils.getCfpHtmlEmailTemplate();
    String templateText = SystemInformationUtils.getCfpTextEmailTemplate();

    String renderedHtmlTemplate = applyMustacheTemplate(cfpSubmission, templateHtml);
    String renderedTextTemplate = applyMustacheTemplate(cfpSubmission, templateText);

    MimeMessage mimeMessage = this.mailSender.createMimeMessage();
    MimeMessageHelper messageHelper;
    try {//from   ww  w.  j ava2  s  . c om
        messageHelper = new MimeMessageHelper(mimeMessage, true);
        messageHelper.setText(renderedTextTemplate, renderedHtmlTemplate);

        messageHelper.setFrom(fromUser);

        for (CfpSubmissionSpeaker submissionSpeaker : cfpSubmission.getSpeakers()) {
            messageHelper.addTo(submissionSpeaker.getEmail());
        }

        if (StringUtils.hasText(this.ccUser)) {
            messageHelper.setCc(this.ccUser);
        }

        messageHelper.setSubject("DevNexus 2015 - CFP - " + cfpSubmission.getSpeakersAsString(false));

    } catch (MessagingException e) {
        throw new IllegalStateException("Error creating mail message for CFP: " + cfpSubmission, e);
    }

    return messageHelper.getMimeMessage();
}

From source file:business.services.MailService.java

@Transactional
public void sendAgreementFormLink(@NotNull String email, @NotNull RequestProperties request) {
    log.info("Send agreement form link for request " + request.getRequestNumber() + ".");

    log.info("Sending link to " + email);
    try {/*from  ww w  .jav  a  2 s. c om*/
        MimeMessageHelper message = new MimeMessageHelper(mailSender.createMimeMessage());
        message.setTo(email);
        message.setFrom(getFrom(), fromName);
        message.setReplyTo(replyAddress, replyName);
        message.setSubject(String.format("Nieuwe PALGA-aanvraag ontvangen, aanvraagnummer: %s",
                request.getRequestNumber()));
        String agreementFormLink = getLink("/#/request/" + request.getProcessInstanceId() + "/agreementform");
        message.setText(String.format(requesterAgreementFormLinkTemplate, agreementFormLink));
        mailSender.send(message.getMimeMessage());
    } catch (MessagingException e) {
        log.error(e.getMessage());
        throw new EmailError("Email error: " + e.getMessage());
    } catch (UnsupportedEncodingException e) {
        log.error(e.getMessage());
        throw new EmailError("Email error: " + e.getMessage());
    }
}