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

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

Introduction

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

Prototype

public final MimeMessage getMimeMessage() 

Source Link

Document

Return the JavaMail MimeMessage that this MimeMailMessage is based on.

Usage

From source file:com.consol.citrus.mail.message.MailMessageConverter.java

/**
 * Reads basic message information such as sender, recipients and mail subject to message headers.
 * @param msg/*from w  w w. jav  a 2  s . c  o m*/
 * @return
 */
protected Map<String, Object> createMessageHeaders(MimeMailMessage msg) throws MessagingException, IOException {
    Map<String, Object> headers = new HashMap<String, Object>();
    headers.put(CitrusMailMessageHeaders.MAIL_MESSAGE_ID, msg.getMimeMessage().getMessageID());
    headers.put(CitrusMailMessageHeaders.MAIL_FROM,
            StringUtils.arrayToCommaDelimitedString(msg.getMimeMessage().getFrom()));
    headers.put(CitrusMailMessageHeaders.MAIL_TO, StringUtils.arrayToCommaDelimitedString(
            (msg.getMimeMessage().getRecipients(javax.mail.Message.RecipientType.TO))));
    headers.put(CitrusMailMessageHeaders.MAIL_CC, StringUtils.arrayToCommaDelimitedString(
            (msg.getMimeMessage().getRecipients(javax.mail.Message.RecipientType.CC))));
    headers.put(CitrusMailMessageHeaders.MAIL_BCC, StringUtils.arrayToCommaDelimitedString(
            (msg.getMimeMessage().getRecipients(javax.mail.Message.RecipientType.BCC))));
    headers.put(CitrusMailMessageHeaders.MAIL_REPLY_TO,
            StringUtils.arrayToCommaDelimitedString((msg.getMimeMessage().getReplyTo())));
    headers.put(CitrusMailMessageHeaders.MAIL_DATE,
            msg.getMimeMessage().getSentDate() != null ? dateFormat.format(msg.getMimeMessage().getSentDate())
                    : null);
    headers.put(CitrusMailMessageHeaders.MAIL_SUBJECT, msg.getMimeMessage().getSubject());
    headers.put(CitrusMailMessageHeaders.MAIL_CONTENT_TYPE,
            parseContentType(msg.getMimeMessage().getContentType()));

    return headers;
}

From source file:com.consol.citrus.mail.message.MailMessageConverter.java

@Override
public Message convertInbound(MimeMailMessage message, MailEndpointConfiguration endpointConfiguration) {
    try {//w  w  w  .j  a  v  a2s  .c  om
        Map<String, Object> messageHeaders = createMessageHeaders(message);
        MailMessage mailMessage = createMailMessage(messageHeaders);
        mailMessage.setBody(handlePart(message.getMimeMessage()));

        return new DefaultMessage(mailMessage, messageHeaders);
    } catch (MessagingException e) {
        throw new CitrusRuntimeException("Failed to convert mail mime message", e);
    } catch (IOException e) {
        throw new CitrusRuntimeException("Failed to convert mail mime message", e);
    }
}

From source file:com.consol.citrus.mail.server.MailServer.java

/**
 * Reads basic message information such as sender, recipients and mail subject to message headers.
 * @param msg/*  ww w.j  a v  a  2s. co  m*/
 * @return
 */
protected Map<String, String> createMessageHeaders(MimeMailMessage msg) throws MessagingException, IOException {
    Map<String, String> headers = new HashMap<String, String>();
    headers.put(CitrusMailMessageHeaders.MAIL_MESSAGE_ID, msg.getMimeMessage().getMessageID());
    headers.put(CitrusMailMessageHeaders.MAIL_FROM,
            StringUtils.arrayToCommaDelimitedString(msg.getMimeMessage().getFrom()));
    headers.put(CitrusMailMessageHeaders.MAIL_TO, StringUtils
            .arrayToCommaDelimitedString((msg.getMimeMessage().getRecipients(Message.RecipientType.TO))));
    headers.put(CitrusMailMessageHeaders.MAIL_CC, StringUtils
            .arrayToCommaDelimitedString((msg.getMimeMessage().getRecipients(Message.RecipientType.CC))));
    headers.put(CitrusMailMessageHeaders.MAIL_BCC, StringUtils
            .arrayToCommaDelimitedString((msg.getMimeMessage().getRecipients(Message.RecipientType.BCC))));
    headers.put(CitrusMailMessageHeaders.MAIL_REPLY_TO,
            StringUtils.arrayToCommaDelimitedString((msg.getMimeMessage().getReplyTo())));
    headers.put(CitrusMailMessageHeaders.MAIL_DATE,
            msg.getMimeMessage().getSentDate() != null ? dateFormat.format(msg.getMimeMessage().getSentDate())
                    : null);
    headers.put(CitrusMailMessageHeaders.MAIL_SUBJECT, msg.getMimeMessage().getSubject());
    headers.put(CitrusMailMessageHeaders.MAIL_CONTENT_TYPE,
            parseContentType(msg.getMimeMessage().getContentType()));

    return headers;
}

From source file:com.consol.citrus.mail.server.MailServer.java

@Override
public void deliver(String from, String recipient, InputStream data) {
    try {//from   w  w w .  j  av a2  s .com
        MimeMailMessage message = new MimeMailMessage(new MimeMessage(getSession(), data));
        Map<String, String> messageHeaders = createMessageHeaders(message);
        MailMessage mailMessage = createMailMessage(messageHeaders);
        mailMessage.setBody(handlePart(message.getMimeMessage()));

        org.springframework.integration.Message response = invokeMessageHandler(mailMessage, messageHeaders);

        if (response != null && response.getPayload() != null) {
            MailMessageResponse mailResponse = null;
            if (response.getPayload() instanceof MailMessageResponse) {
                mailResponse = (MailMessageResponse) response.getPayload();
            } else if (response.getPayload() instanceof String) {
                mailResponse = (MailMessageResponse) mailMessageMapper
                        .fromXML(response.getPayload().toString());
            }

            if (mailResponse != null && mailResponse.getCode() != MailMessageResponse.OK_CODE) {
                throw new RejectException(mailResponse.getCode(), mailResponse.getMessage());
            }
        }
    } catch (MessagingException e) {
        throw new CitrusRuntimeException(e);
    } catch (IOException e) {
        throw new CitrusRuntimeException(e);
    }
}

From source file:org.springframework.mail.javamail.JavaMailSenderImpl.java

public void send(SimpleMailMessage[] simpleMessages) throws MailException {
    List mimeMessages = new ArrayList(simpleMessages.length);
    for (int i = 0; i < simpleMessages.length; i++) {
        SimpleMailMessage simpleMessage = simpleMessages[i];
        if (logger.isDebugEnabled()) {
            logger.debug("Creating new MIME message using the following mail properties: " + simpleMessage);
        }//w w w  . j av a 2  s .  co m
        MimeMailMessage message = new MimeMailMessage(createMimeMessage());
        simpleMessage.copyTo(message);
        mimeMessages.add(message.getMimeMessage());
    }
    doSend((MimeMessage[]) mimeMessages.toArray(new MimeMessage[mimeMessages.size()]), simpleMessages);
}