Class MailProcessor


  • @Service
    public class MailProcessor
    extends Object
    • Constructor Detail

      • MailProcessor

        public MailProcessor()
    • Method Detail

      • setCleaner

        public void setCleaner​(HtmlCleaner cleaner)
      • processMailPart

        public void processMailPart​(javax.mail.Part part,
                                    Message message)
                             throws javax.mail.MessagingException,
                                    IOException
        Processes a part for a multi-part email.
        Parameters:
        part - the part to be processed.
        message - the message corresponding to the email.
        Throws:
        javax.mail.MessagingException
        IOException
      • processBody

        public void processBody​(String content,
                                String contentType,
                                Message message)
                         throws IOException,
                                javax.mail.MessagingException
        Processes the body (text) part of an email.
        Parameters:
        content - the text content of the email.
        contentType - the content type for this text.
        message - the message corresponding to this part
        Throws:
        IOException
        javax.mail.MessagingException
      • replaceSpecialChars

        public String replaceSpecialChars​(String toParse)
        Replaces special chars.
        Parameters:
        toParse - the String whose chars are to be replaced.
        Returns:
        the String without its special chars. Empty String if toParse is null.
      • saveAttachment

        public String saveAttachment​(javax.mail.Part part,
                                     String componentId,
                                     String messageId)
                              throws IOException,
                                     javax.mail.MessagingException
        Saves an attachment as a file, and stores the path in the message.
        Parameters:
        part - the part corresponding to the attachment.
        componentId - the id of the mailing list component.
        messageId - the id of the message (email id).
        Returns:
        the absolute path to the file.
        Throws:
        IOException
        javax.mail.MessagingException
      • prepareMessage

        public void prepareMessage​(javax.mail.internet.MimeMessage mail,
                                   MessageListener mailingList,
                                   MessageEvent event)
                            throws javax.mail.MessagingException,
                                   IOException
        Process an email, extracting attachments and constructing a Message.
        Parameters:
        mail - the email to be processed.
        mailingList - the mailing list it is going to be affected to.
        event - the event which will be send at the end of all processing.
        Throws:
        javax.mail.MessagingException
        IOException
      • extractContentType

        protected static String extractContentType​(String contentType)
      • getFileName

        protected String getFileName​(javax.mail.Part part)
                              throws javax.mail.MessagingException
        Throws:
        javax.mail.MessagingException
      • isTextPart

        protected boolean isTextPart​(javax.mail.Part part)
                              throws javax.mail.MessagingException
        Analyze the part to check if it is an attachment, a base64 encoded file or some text.
        Parameters:
        part - the part to be analyzed.
        Returns:
        true if it is some text - false otherwise.
        Throws:
        javax.mail.MessagingException
      • processMultipart

        public void processMultipart​(javax.mail.Multipart multipart,
                                     Message message)
                              throws javax.mail.MessagingException,
                                     IOException
        Throws:
        javax.mail.MessagingException
        IOException