List of usage examples for org.springframework.mail.javamail MimeMailMessage getMimeMessage
public final MimeMessage getMimeMessage()
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); }