This abstract class provides functionality to listen to email node creation event so that the implementer of this
class can process it as per its requirements.
CQ Feed Importer services are used to save mail to a repository location, path of which needs to be configured in
"e-mail.import.path" property. JCR Observation mechanism detects node creation at this location from which emails
are read, parsed and processed as per the requirement of the implementer of this class. After processing, these
email nodes are deleted from repository.
Email content might contain quoted data along with actual post content. EmailClientProvider services are used to
parse and extract relevant information. Suitable EmailClientProvider service is selected based on mail content.
Topic is parsed from "Subject". If not found, topic is parsed from "To" header of the inbound mail. Format of the
header is emailID+Topic Path@Domain Name.
Author is detected from "From" header of inbound mail. First email address is considered as author email id.
Two properties are associated with email Nodes which indicate processing status namely " processingStatus" : values
can be {processing,success,failure} and "processingStatusMsg": set when error occurred while processing email,
stores error message and sends failure email to the sender.