com.silverpeas.mailinglist.service.job
Class MailProcessor

java.lang.Object
  extended by com.silverpeas.mailinglist.service.job.MailProcessor

public class MailProcessor
extends Object


Field Summary
static String MAIL_HEADER_IN_REPLY_TO
           
static String MAIL_HEADER_REFERENCES
           
static int SUMMARY_SIZE
           
 
Constructor Summary
MailProcessor()
           
 
Method Summary
protected static String extractContentType(String contentType)
           
protected  String getFileName(javax.mail.Part part)
           
protected  boolean isTextPart(javax.mail.Part part)
          Analyze the part to check if it is an attachment, a base64 encoded file or some text.
 void prepareMessage(javax.mail.internet.MimeMessage mail, MessageListener mailingList, MessageEvent event)
          Process an email, extracting attachments and constructing a Message.
 void processBody(String content, String contentType, Message message)
          Processes the body (text) part of an email.
 void processMailPart(javax.mail.Part part, Message message)
          Processes a part for a multi-part email.
 void processMultipart(javax.mail.Multipart multipart, Message message)
           
 String replaceSpecialChars(String toParse)
          Replaces special chars.
 String saveAttachment(javax.mail.Part part, String componentId, String messageId)
          Saves an attachment as a file, and stores the path in the message.
 void setCleaner(HtmlCleaner cleaner)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SUMMARY_SIZE

public static final int SUMMARY_SIZE
See Also:
Constant Field Values

MAIL_HEADER_IN_REPLY_TO

public static final String MAIL_HEADER_IN_REPLY_TO
See Also:
Constant Field Values

MAIL_HEADER_REFERENCES

public static final String MAIL_HEADER_REFERENCES
See Also:
Constant Field Values
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


Copyright © 2016 Silverpeas. All Rights Reserved.