Email Queues

The Mailborder Gullekson Virtuoso (GV) engine moves email queue files between different directories while processing email. This allows the engine to pickup the evaluation and delivery process where it left off instead of starting the entire process over again in the event of a service interruption. This prevents double scanning, double logging, double sending, and lost email. 

The directory structure is mostly static. The working directories cannot be changed, but the spool directory can be changed. Note that any changes to the spool directory during normal operation can lead to unexpected behavior for queued email. 



This is the only configurable directory within the engine. Under this directory various work directories and files will be created and managed by the engine. Changes to any file, directory, or permission within this directory will interrupt and possibly corrupt email. An exception to this is the /corrupt directory where bad or unknown email queue files are stored. This is essentially the graveyard for files the GV engine considers dead.

The /spool directory can become very large depending on how long quarantined and archived email is kept. If there is a requirement to move this directory, the GV service should be stopped and the contents of the existing spool directory should be moved with ownership and permissions in tact to any new directory specified. Once moved and the configuration file has been updated, the GV service can safely be restarted. 

If the partition containing the /spool directory is going to be resized with LVM, both of the Postfix and Mailborder GV services need to be stopped prior to performing the resize. 

Configuration: /etc/mailborder/conf.d/
Default Value: spool=/var/spool/mailborder



This is where email is stored if email archiving is supported and enabled. All valid email queue files are stored, which include clean and quarantined queue files. Email in this directory can be resent via the Mailborder Master server interface. The email queue storage format is Mailborder proprietary. It can be viewed as the storage format is plain/text, but it can only be injected back into the delivery system via the Mailborder GV engine. Email will be retained for the period defined in Mailborder policy settings. 



As mentioned previously, the /corrupt directory is the graveyard for dead files. Files placed here were not identifiable by the GV engine. Mailborder uses a preparatory format for storing queue files. The Mailborder storage format is in plain/text, so the data can still be manually extracted from valid queue files. Reports of the content of this directory are periodically sent to the defined system administrator email address. 



The /data directory is used primarily to store Sqlite3 database files that are used during the processing of email through the GV engine. These files should never be modified.



Email that could not be processed due to an error is placed in the /defer directory. After the max_attempts is reached as defined in the daemon configuration file due to repeated failures, the queue file will be moved to /jail and will require manual review. 



Email in this queue has already been processed and a previous delivery attempt has been made to inject it back into the Postfix system. Email queue files in this directory will be subsequently reattempted during a 2 minute time interval. Any files in the /delay directory are most likely due to the Postfix service being unavailable or over taxed. 



Valid email queue files that have failed processing more than max_attempts as defined in the configuration file will be moved to the /jail directory. Processing failures are the result of either the spam detection engine or virus scanning engines repeatedly failing to examine the email queue file. Summary reports of files in the /jail directory are periodically sent the defined system administrator email address. 



This directory is where new email is placed by the engine upon receipt from Postfix. The GV engine will move new email from the /milter directory into the processing queue. All email inbound from external sources or relayed through the Mailborder server from internal sources passes through the /milter directory. 



Email that has failed spam or virus checks is stored in the /quarantine directory. Email can be examined and released from the Mailborder Master server interface. Email will be retained for the period defined in Mailborder policy settings. 



The /scan directory is used during the spam and virus scanning process. This is essentially a work directory used by the GV engine during the evaluation of an email. Once the evaluation is complete, the email queue file is moved to one of the following directories: 



The /send directory is used during an active send process. After the send is complete the queue file will be deleted from this directory. If an email cannot be sent due to an error with the Postfix service, the email queue file will be moved to the /delay directory. 



The /stage directory is a transient directory used by the GV engine before it passes the queue file to the filtering engine. This is done to prevent double scanning of a single email. The filtering engine moves its assigned queue file from the /stage directory to the /scan directory.


For more information regarding how these directories are involved in the GV engine process, see Engine Flow




Have more questions? Submit a request


Please sign in to leave a comment.
Powered by Zendesk