Inbound Message Bot

Inbound Message Bot is designed to handle more email faster while making available more email content in a consistent, useful way. It prioritizes incoming messages using a variety of indicators into a queue for processing and triggering callbacks.

Inbound Message Bot works with the latest version of acs-mail-lite in a general fashion using callbacks.

The code is general enough to adapt to any message sources, such as social network apps for example.

The first implementation of Message Bot handles email imported from IMAP or MailDir. These can operate concurrently.

Overview of operation

New messages can be processed by setting the package parameter IncomingFilterProcName to the name of a custom filter that examines headers of each email and assigns a package_id or modifies other flags based on custom criteria.

Incoming attachments are placed in folder acs_root_dir/acs-mail-lite since emails are queued. Attachments might need to persist passed a system reset, which may clear a standard system tmp directory used by ad_tmpdir. Note that this is different than the value provided by parameter FilesystemAttachmentsRoot. FilesystemAttachmentsRoot is for outbound attachments.

A callback is subsequently triggered. Packages with a registered callbacks process the email.

When callbacks are finished, email is marked as 'read' by the importing procedure, and deleted from the import queue at a regular interval. An error in one of the callbacks will prevent an email from being deleted without concern that the email will be re-processed by other callback implementations.