Class MailMessageConverter

java.lang.Object
org.citrusframework.mail.message.MailMessageConverter
All Implemented Interfaces:
MessageConverter<org.springframework.mail.javamail.MimeMailMessage,org.springframework.mail.javamail.MimeMailMessage,MailEndpointConfiguration>

public class MailMessageConverter extends Object implements MessageConverter<org.springframework.mail.javamail.MimeMailMessage,org.springframework.mail.javamail.MimeMailMessage,MailEndpointConfiguration>
Since:
2.0
Author:
Christoph Deppisch, Christian Guggenmos
  • Constructor Details

    • MailMessageConverter

      public MailMessageConverter()
  • Method Details

    • convertOutbound

      public org.springframework.mail.javamail.MimeMailMessage convertOutbound(Message message, MailEndpointConfiguration endpointConfiguration, TestContext context)
      Specified by:
      convertOutbound in interface MessageConverter<org.springframework.mail.javamail.MimeMailMessage,org.springframework.mail.javamail.MimeMailMessage,MailEndpointConfiguration>
    • convertOutbound

      public void convertOutbound(org.springframework.mail.javamail.MimeMailMessage mimeMailMessage, Message message, MailEndpointConfiguration endpointConfiguration, TestContext context)
      Specified by:
      convertOutbound in interface MessageConverter<org.springframework.mail.javamail.MimeMailMessage,org.springframework.mail.javamail.MimeMailMessage,MailEndpointConfiguration>
    • convertInbound

      public MailMessage convertInbound(org.springframework.mail.javamail.MimeMailMessage message, MailEndpointConfiguration endpointConfiguration, TestContext context)
      Specified by:
      convertInbound in interface MessageConverter<org.springframework.mail.javamail.MimeMailMessage,org.springframework.mail.javamail.MimeMailMessage,MailEndpointConfiguration>
    • createMailRequest

      public MailMessage createMailRequest(Map<String,Object> messageHeaders, BodyPart bodyPart, MailMarshaller marshaller)
      Creates a new mail message model object from message headers.
      Parameters:
      messageHeaders -
      bodyPart -
      marshaller -
      Returns:
    • createMessageHeaders

      protected Map<String,Object> createMessageHeaders(org.springframework.mail.javamail.MimeMailMessage msg) throws jakarta.mail.MessagingException, IOException
      Reads basic message information such as sender, recipients and mail subject to message headers.
      Parameters:
      msg -
      Returns:
      Throws:
      jakarta.mail.MessagingException
      IOException
    • handlePart

      protected BodyPart handlePart(jakarta.mail.internet.MimePart part) throws IOException, jakarta.mail.MessagingException
      Process message part. Can be a text, binary or multipart instance.
      Parameters:
      part -
      Returns:
      Throws:
      IOException
      jakarta.mail.MessagingException
    • handleApplicationContentPart

      protected BodyPart handleApplicationContentPart(jakarta.mail.internet.MimePart applicationData, String contentType) throws IOException, jakarta.mail.MessagingException
      Construct body part form special application data. Based on known application content types delegate to text, image or binary body construction.
      Parameters:
      applicationData -
      contentType -
      Returns:
      Throws:
      IOException
      jakarta.mail.MessagingException
    • handleImageBinaryPart

      protected BodyPart handleImageBinaryPart(jakarta.mail.internet.MimePart image, String contentType) throws IOException, jakarta.mail.MessagingException
      Construct base64 body part from image data.
      Parameters:
      image -
      contentType -
      Returns:
      Throws:
      IOException
      jakarta.mail.MessagingException
    • handleBinaryPart

      protected BodyPart handleBinaryPart(jakarta.mail.internet.MimePart mediaPart, String contentType) throws IOException, jakarta.mail.MessagingException
      Construct simple body part from binary data just adding file name as content.
      Parameters:
      mediaPart -
      contentType -
      Returns:
      Throws:
      IOException
      jakarta.mail.MessagingException
    • handleTextPart

      protected BodyPart handleTextPart(jakarta.mail.internet.MimePart textPart, String contentType) throws IOException, jakarta.mail.MessagingException
      Construct simple binary body part with base64 data.
      Parameters:
      textPart -
      contentType -
      Returns:
      Throws:
      IOException
      jakarta.mail.MessagingException