Zarafa Qmail integration
From Zarafa wiki
ZCP can integrated with any Linux MTA. The following article describes how ZCP can be integrated with the Qmail MTA.
Place in the $HOME/.qmail file a line containing:
| /usr/bin/zarafa-dagent -q <user name>
The <user name> tag needs to be replaced with the name of the user to correctly deliver the email. The username should always be the same as the local unix user where the .qmail is located in the home directory.
The -q switch is to notify the zarafa-dagent program to return qmail style error codes. When an email can temporarily not be delivered, it will stay in the qmail queue, which will try to deliver the email again later.
Temporary deliver failures
If the Zarafa Delivery Agent (+dagent+) fails to deliver a mail to the Zarafa Server, it can return different exit codes to notify the SMTP server what went wrong. One exit code tells the SMTP server that delivery has failed, and will always fail, no matter how many times is retried. Examples of such a failure is when a user is not know to the Zarafa Server or when the user is over its hard quota and may no longer receive email. The SMTP server will act on this error by bouncing the error message to the sender of the mail, notifying him that the mail could not be delivered.
When the dagent fails to deliver the mail because the Zarafa Server could not be contacted, it will return a special error code, telling the SMTP server to retry to deliver the mail in a while. The SMTP server will keep the mail in it's queue, instead of immediately bouncing the mail back to the sender.
The dagent has a special option to use qmail style error codes, in case qmail is used with the default +.qmail+ delivery files.