Queue Processing

The Axigen Solution: Overview & Architecture

The Processing module manages the mail messages, transmitted from the SMTP Incoming and WebMail modules, in the Axigen Queue and delivers them to Axigen Storage (for local delivery) and to the SMTP Sending module (for external delivery).

Processing module

The processing module interacts with:

  1. the IMAP module - it uses the Axigen Processing module to Append operations executed on mailboxes;
  2. the WebMail module - it uses the Axigen Processing module to Compose operations (after the message is composed, it is placed in the Axigen Queue);

Logging

All Axigen main services can log different types of events. You can specify what events are logged, where and how they are logged.

Email delivery

In case a message cannot be delivered for some non-critical reason, it can be re-scheduled, meaning Axigen will try to re-send it after a defined time interval is elapsed. Axigen's mail scheduling feature can be adjusted in terms of: first delivery retry timeout for an email, stop doubling retry timeout when it reaches and max. number of retries.

Delivery reports

Temporary and permanent delivery error reports can be configured to be sent automatically when reaching a number of failed delivery attempts. The message can be customized by setting a specific notification sender, subject, beginning and ending body, or appending variables. Also the headers or even the entire original message can be set to be attached to your notification.

Queue parameters

The messages received from SMTP clients are stored in a queue that is processed by Axigen according to specific rules. Different operations can be executed on this queue, such as inspecting the queue, specifying / modifying the path where the queue is stored, setting the maximum number of queue subdirectories, processing size (number of messages) and number of local delivery threads for local SMTP transactions.

Currently any change in the parameters specific to the Processing module requires a sever restart to become effective.

Message statuses

A message in the queue can have one of the following statuses:

  • Incoming: The message is currently being received. It has not been treated in either way by Axigen.
  • Received: The email has been received. No action has been taken on it yet.
  • Processing: Message processing is underway.
  • Processed: The email processing ended, successfully or not. If the message is successfully processed, the next specific action (for instance delivery) specified for the message is carried out. If the email processing ends unsuccessfully, the message remains in Processed status.
  • Sending: The process of sending the message is underway.
  • Send Failure: The email sending failed.
  • Sent: The message has been sent.
  • Raw received: The email was received from the WebMail module.
  • Relay error: The SMTP Sending module did not manage to send the message to the addressing server.
  • Local error: The SMTP Sending module did not manage to send the email to the Axigen Storage.
  • Filter reject: The message was rejected by a configured filter.
  • Filter discard: The email was deleted by a filter without any notification.
  • Cleanup error: The NDR message could not be send to the sender.
  • New mail: The email has just arrived in the queue.
  • Removed: The message was deleted.
  • IO Error: The message could not be read from the disk.