Email Flow

The Axigen Solution — Overview & Architecture

The root page The Axigen Solution: Overview & Architecture could not be found in space Documentation (Public).

Below is an example on an incoming message taken from the Axigen log. The Axigen log is set to log "Protocol Communication" level, for the SMTP Receiving and Processing services, in order to obtain more details.

For each session belonging to a certain service a specific ID is assigned. In the below examples the ID, for the SMTP Receiving session, is 00000022.

The first line shows that a connection was established to Axigen:

This line indicates that Axigen is ready to begin the SMTP communication:

The next lines show the SMTP communication between Axigen and the remote host:

Here is where the sender of the message from the envelope is given by the remote host:

The next lines indicate that a certain action was performed after the "MAIL FROM" command. This action is actually a SMTP policy defined in the smtpFilters.script file:

The recipient of the message is then provided and then the actual message which includes the headers and the body:

After the remote host indicates that the message is complete Axigen takes the message and enqueues it with an ID which is further used in the PROCESSING service. As you could notice the SMTP-IN service has a unique ID also for this message:

The PROCESSING Service now starts and begins to filter the message:

SpamAssassinBundled is enabled and identifies this message as not being spam:

Now the rules defined on the server level are applied:

And finally the delivery of the message occurs:

Essentially to remember when investigating an issue related to mail delivery is that you need "Protocol Communication" logs in order to obtain more details. Then you can track a message path, from the time it enters Axigen to the moment when it's delivery is made, using the IDs corresponding to that message. As you can notice in the example above the message is received with an ID "000022" and then enqueued with the ID "20D2FB" which is also used when the PROCESSING service logs it's messages.