Difference between revisions of "Zimbra MTA"

m (Zimbra MTA Deployment)
 
(20 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 +
{{BC|Community Sandbox}}
 +
__FORCETOC__
 +
<div class="col-md-12 ibox-content">
 +
=Zimbra MTA=
 +
{{KB|{{Unsupported}}|{{ZCS 7.0}}|{{ZCS 6.0}}|}}
 +
{{WIP}}
 
The Zimbra MTA (Mail Transfer Agent) receives mail via SMTP and routes each message, using Local Mail Transfer Protocol (LMTP), to the appropriate Zimbra mailbox server.
 
The Zimbra MTA (Mail Transfer Agent) receives mail via SMTP and routes each message, using Local Mail Transfer Protocol (LMTP), to the appropriate Zimbra mailbox server.
  
Line 5: Line 11:
 
The Zimbra MTA server includes the following programs:
 
The Zimbra MTA server includes the following programs:
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1028425"
 
{| id="SummaryNotRequired_np1028425"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">Postfix MTA, for mail routing, mail relay, and attachment blocking</div>
 
<div class="Bulleted1_inner">Postfix MTA, for mail routing, mail relay, and attachment blocking</div>
 
|}
 
|}
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1028464"
 
{| id="SummaryNotRequired_np1028464"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">Clam AntiVirus, an antivirus engine used for scanning email messages and attachments in email messages for viruses </div>
 
<div class="Bulleted1_inner">Clam AntiVirus, an antivirus engine used for scanning email messages and attachments in email messages for viruses </div>
 
|}
 
|}
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1028469"
 
{| id="SummaryNotRequired_np1028469"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">SpamAssassin and DSPAM, mail filters that attempt to identify unsolicited commercial email (spam), using a variety of mechanisms</div>
 
<div class="Bulleted1_inner">SpamAssassin and DSPAM, mail filters that attempt to identify unsolicited commercial email (spam), using a variety of mechanisms</div>
 
|}
 
|}
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1034372"
 
{| id="SummaryNotRequired_np1034372"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">Amavisd-New, a Postfix content filter used as an interface between Postfix and ClamAV / SpamAssassin </div>
 
<div class="Bulleted1_inner">Amavisd-New, a Postfix content filter used as an interface between Postfix and ClamAV / SpamAssassin </div>
Line 53: Line 63:
 
==Zimbra MTA Deployment==
 
==Zimbra MTA Deployment==
  
<div class="Body">
+
</div><div class="Body">
  
 
The Zimbra Collaboration Suite includes a precompiled version of Postfix. This version does not have any changes to the source code, but it does include configuration file modifications, additional scripts, and tools.
 
The Zimbra Collaboration Suite includes a precompiled version of Postfix. This version does not have any changes to the source code, but it does include configuration file modifications, additional scripts, and tools.
Line 59: Line 69:
 
</div><div class="Body">
 
</div><div class="Body">
  
Postfix performs the Zimbra mail transfer and relay. It receives inbound messages via SMTP, and hands off the mail messages to the Zimbra server via LMTP, as shown the following figure. The Zimbra MTA can also perform anti-virus and anti-spam filtering.
+
Postfix performs the Zimbra mail transfer and relay. It receives inbound messages via SMTP, and hands off the mail messages to the Zimbra server via LMTP, as shown in the following figure. The Zimbra MTA can also perform anti-virus and anti-spam filtering.
  
 
</div><div class="Body">
 
</div><div class="Body">
Line 69: Line 79:
 
Figure 6: Postfix in a Zimbra Environment
 
Figure 6: Postfix in a Zimbra Environment
  
</div>
+
</div><div class="Anchor">
  
 
[[Image:6_MTA.5.1.1.jpg]]
 
[[Image:6_MTA.5.1.1.jpg]]
 +
 +
</div><div class="a_0034Heading">
 +
 +
 +
</div><div class="Body">
  
 
<nowiki>*The term “edge MTA” is a generic term referring to any sort of edge security solution for mail. You may already deploy such solutions for functions such as filtering. The edge MTA is optional. Some filtering may be duplicated between an edge MTA and the Zimbra MTA. </nowiki>
 
<nowiki>*The term “edge MTA” is a generic term referring to any sort of edge security solution for mail. You may already deploy such solutions for functions such as filtering. The edge MTA is optional. Some filtering may be duplicated between an edge MTA and the Zimbra MTA. </nowiki>
 
<div class="a_0032Heading">
 
  
 
===Postfix Configuration Files===
 
===Postfix Configuration Files===
 
</div><div class="BodyAfterHead">
 
  
 
Zimbra modified the following Postfix files specifically to work with the Zimbra Collaboration Suite:
 
Zimbra modified the following Postfix files specifically to work with the Zimbra Collaboration Suite:
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1045153"
 
{| id="SummaryNotRequired_np1045153"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
<div class="Bulleted1_inner"><span style="font-weight: bold;">main.cf</span> - Modified to incEdge MTA.lude the LDAP tables. The configuration script in the Zimbra MTA pulls data from the Zimbra LDAP and modifies the Postfix configuration files. </div>
+
<div class="Bulleted1_inner">'''main.cf''' - Modified to include the LDAP tables. The configuration script in the Zimbra MTA pulls data from the Zimbra LDAP and modifies the Postfix configuration files. </div>
 
|}
 
|}
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1043830"
 
{| id="SummaryNotRequired_np1043830"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
<div class="Bulleted1_inner"><span style="font-weight: bold;">master.cf</span> - Modified to use Amavisd-New.</div>
+
<div class="Bulleted1_inner">'''master.cf''' - Modified to use Amavisd-New.</div>
 
|}
 
|}
  
Line 113: Line 126:
 
Zimbra MTA Postfix functionality includes:
 
Zimbra MTA Postfix functionality includes:
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1030226"
 
{| id="SummaryNotRequired_np1030226"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">SMTP authentication </div>
 
<div class="Bulleted1_inner">SMTP authentication </div>
 
|}
 
|}
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1030258"
 
{| id="SummaryNotRequired_np1030258"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">Attachment blocking</div>
 
<div class="Bulleted1_inner">Attachment blocking</div>
 
|}
 
|}
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1030273"
 
{| id="SummaryNotRequired_np1030273"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">Relay host configuration</div>
 
<div class="Bulleted1_inner">Relay host configuration</div>
 
|}
 
|}
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1032483"
 
{| id="SummaryNotRequired_np1032483"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">Postfix-LDAP integration</div>
 
<div class="Bulleted1_inner">Postfix-LDAP integration</div>
 
|}
 
|}
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1030282"
 
{| id="SummaryNotRequired_np1030282"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">Integration with Amavisd-New, ClamAV, and Spam Assassin</div>
 
<div class="Bulleted1_inner">Integration with Amavisd-New, ClamAV, and Spam Assassin</div>
Line 216: Line 234:
 
</div><div class="Body">
 
</div><div class="Body">
  
===Account quota is the storage limit allowed for an account.===
+
Account quota is the storage limit allowed for an account. Account quotas can be set by COS or per account. The MTA attempts to deliver a message, and if a Zimbra user’s mailbox exceeds the set quota, the Zimbra mailbox server rejects the message as mailbox is full and the sender gets a bounce message. You can view account quotas from the Administration Console, Monitoring Server Statistics section.
 
 
Account quotas can be set by COS or per account. The MTA attempts to deliver a message, and if a Zimbra user’s mailbox exceeds the set quota, the Zimbra mailbox server rejects the message as mailbox is full and the sender gets a bounce message. You can view account quotas from the Administration Console, Monitoring Server Statistics section.
 
  
 
</div><div class="a_0032Heading">
 
</div><div class="a_0032Heading">
Line 228: Line 244:
 
The Amavisd-New utility is the interface between the Zimbra MTA and Clam AV and SpamAssassin scanners.
 
The Amavisd-New utility is the interface between the Zimbra MTA and Clam AV and SpamAssassin scanners.
  
</div><div class="a_0032Heading">Anti-Virus Protection</div><div class="BodyAfterHead">
+
</div><div class="a_0032Heading">
 +
 
 +
==Anti-Virus Protection==
 +
 
 +
</div><div class="BodyAfterHead">
  
 
Clam AntiVirus software is bundled with the Zimbra Collaboration Suite as the virus protection engine. The Clam anti-virus software is configured to block encrypted archives, to send notification to administrators when a virus has been found, and to send notification to recipients alerting that a mail message with a virus was not delivered.
 
Clam AntiVirus software is bundled with the Zimbra Collaboration Suite as the virus protection engine. The Clam anti-virus software is configured to block encrypted archives, to send notification to administrators when a virus has been found, and to send notification to recipients alerting that a mail message with a virus was not delivered.
Line 242: Line 262:
 
</div><div class="a_0032Heading">
 
</div><div class="a_0032Heading">
  
===Anti-Spam Protection===
+
==Anti-Spam Protection==
  
 
</div><div class="BodyAfterHead">
 
</div><div class="BodyAfterHead">
Line 252: Line 272:
 
The SpamAssassin default configuration for ZCS is as follows:
 
The SpamAssassin default configuration for ZCS is as follows:
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1032398"
 
{| id="SummaryNotRequired_np1032398"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
<div class="Bulleted1_inner">Kill percent at 75%. Mail that is scored at 75% is considered spam and is not delivered. SpamAssassin score of 20 is considered 100%. </div>
+
<div class="Bulleted1_inner">zimbraSpamKillPercent: Spaminess percentage beyond which a message is dropped. Default kill percent at 75%. Mail that is scored at 75% is considered spam and is not delivered. SpamAssassin score of 20 is considered 100%. 75% equates to a spam score of 15.</div>
 
|}
 
|}
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1032402"
 
{| id="SummaryNotRequired_np1032402"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
<div class="Bulleted1_inner">Tag percent at 33%. Mail that is scored at 33% is considered spam and is delivered to the Junk folder.</div>
+
<div class="Bulleted1_inner">zimbraSpamTagPercent: Spaminess percentage beyond which a message is marked as spam. Default tag percent at 33%. Mail that is scored at 33% is considered spam and is delivered to the Junk folder. Since a SpamAssassin score of 20 equates to 100%, the zimbraSpamTagPercent would equate to a spam score of 6.6.</div>
 
|}
 
|}
  
Line 284: Line 306:
 
</div><div class="a_0033Heading">
 
</div><div class="a_0033Heading">
  
===Anti-Spam Training Filters===
+
====Anti-Spam Training Filters====
  
 
</div><div class="BodyAfterHead">
 
</div><div class="BodyAfterHead">
  
When ZCS is installed the automated spam training filter is enabled and two feedback mailboxes are created to receive mail notification.
+
When ZCS is installed, the automated spam training filter is enabled and two feedback mailboxes are created to receive mail notification.
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1047341"
 
{| id="SummaryNotRequired_np1047341"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">Spam Training User to receive mail notification about mail that was not marked as junk, but should be.</div>
 
<div class="Bulleted1_inner">Spam Training User to receive mail notification about mail that was not marked as junk, but should be.</div>
 
|}
 
|}
  
</div><div class="Bulleted1_outer">
+
</div><div class="Bulleted1_outer" style="margin-left: 0pt">
  
 
{| id="SummaryNotRequired_np1047343"
 
{| id="SummaryNotRequired_np1047343"
 +
|- style="vertical-align: baseline"
 
|
 
|
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
+
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
| width="100%" |
 
<div class="Bulleted1_inner">Non-spam (HAM) training user to receive mail notification about mail that was marked as junk, but should not have been.</div>
 
<div class="Bulleted1_inner">Non-spam (HAM) training user to receive mail notification about mail that was marked as junk, but should not have been.</div>
 
|}
 
|}
 
</div><div class="Body">For these accounts, quota is disabled (i.e. set to 0) and attachment indexing is disabled. Disabling quotas prevents bouncing messages when the mailbox is full. </div><div class="Body">
 
 
How well the anti-spam filter works depends on recognizing what is considered spam or not considered spam. The SpamAssassin filter can learn what is spam and what is not spam from messages that users specifically mark as <span style="font-weight: bold;">Junk</span> from their web client toolbar or <span style="font-weight: bold;">Not Junk</span> from the web client Junk folder. A copy of these marked messages is sent to the appropriate spam training mailbox.The Zimbra spam training tool, <span class="attribute">zmtrainsa</span><span class="attribute" style="font-weight: normal;">,</span> is configured to automatically retrieve these messages and train the spam filter.
 
  
 
</div><div class="Body">
 
</div><div class="Body">
  
The <span class="attribute">zmtrainsa</span><span class="attribute" style="font-weight: normal;"> script </span>is enabled through a cron job to feed mail that has been classified as spam or as non-spam to the SpamAssassin application, allowing SpamAssassin to ‘learn’ what signs are likely to mean spam or ham. The zmtrainsa script empties these mailboxes each day.
+
For these training accounts, the mailbox quota is disabled (i.e. set to 0) and attachment indexing is disabled. Disabling quotas prevents bouncing messages when the mailbox is full.
  
 
</div><div class="Body">
 
</div><div class="Body">
  
By default all users can give feedback in this way. If you do not want all users to train the spam filter, you can modify the global configuration attributes, <span class="attribute">zimbraSpamIsSpamAccount</span> and <span class="attribute">zimbraSpamIsNotSpamAccount</span>, and remove the account addresses from the attributes. To remove, type as:
+
How well the anti-spam filter works depends on recognizing what is considered spam or not considered spam. The SpamAssassin filter can learn what is spam and what is not spam from messages that users specifically mark as '''Junk''' from their web client toolbar or '''Not Junk''' from the web client Junk folder. A copy of these marked messages is sent to the appropriate spam training mailbox.The Zimbra spam training tool, <span class="attribute">zmtrainsa</span><span class="attribute" style="font-weight: normal">,</span> is configured to automatically retrieve these messages and train the spam filter.
 
 
</div><div class="Body" style="color: #000000; font-family: "Times New Roman"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: bold; text-transform: normal; vertical-align: baseline;"><span class="Code">zmprov mcf <attribute> ‘’</span></div><div class="Body">
 
 
 
When these attributes are modified, messages marked as junk or not junk are not copied to the spam training mailboxes.
 
  
 
</div><div class="Body">
 
</div><div class="Body">
  
Initially, you may want to train the spam filter manually to quickly build a database of spam and non-spam tokens, words, or short character sequences that are commonly found in spam or ham. To do this, you can manually forward messages as message/rfc822 attachments to the spam and non-spam mailboxes. When <span class="attribute">zmtrainsa</span> runs, these messages are used to teach the spam filter. Make sure you add a large enough sampling of messages to these mailboxes. In order to get accurate scores to determine whether to mark messages as spam at least 200 known spams and 200 known hams must be identified.
+
The <span class="attribute">zmtrainsa</span><span class="attribute" style="font-weight: normal"> script </span>is enabled through a cron job to feed mail that has been classified as spam or as non-spam to the SpamAssassin application, allowing SpamAssassin to ‘learn’ what signs are likely to mean spam or ham. The zmtrainsa script empties these mailboxes each day.
  
 
</div><div class="Body">
 
</div><div class="Body">
  
The zmtrainsa command can be run manually to forward any folder from any mailbox to the spam training mailboxes. To send a folder to the spam training mailbox, type the command as:
+
By default all users can give feedback in this way. If you do not want users to train the spam filter, you can modify the global configuration attributes, <span class="attribute">zimbraSpamIsSpamAccount</span> and <span class="attribute">zimbraSpamIsNotSpamAccount</span>, and remove the spam/ham account addresses from the attributes. To remove, type as:
  
</div><div class="Body" style="color: #000000; font-family: "Times New Roman"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: bold; text-transform: normal; vertical-align: baseline;"><span class="Code">zmtrainsa <server> <user> <password> spam [foldername] </span></div><div class="Body">
+
</div><div class="Body" style="font-style: normal; font-variant: normal; margin-bottom: 6.0pt; margin-top: 6.0pt; text-transform: none; vertical-align: baseline">'''<font color="#000000"> <span class="Code">zmprov mcf <attribute> ‘’</span> </font>'''</div><div class="Body">
  
To send the to the non-spam training mailbox, type:
+
Restart the Zimbra services, type '''zmcontrol stop''' and then '''zmcontrol start'''.
  
</div><div class="Body" style="color: #000000; font-family: "Times New Roman"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: bold; text-transform: normal; vertical-align: baseline;"><span class="Code">zmtrainsa <server> <user> <password> ham [foldername]</span></div><div class="a_0033Heading">
+
When these attributes are modified, messages marked as junk or not junk are not copied to the spam training mailboxes.
 
 
===Turning On or Off RBLs===
 
 
 
</div><div class="BodyAfterHead">
 
 
 
RBL (Real time black-hole lists) can be turned on or off in SpamAssassin from the Zimbra CLI.
 
  
 
</div><div class="Body">
 
</div><div class="Body">
  
The three RBL’s that are enabled during installation are the following:
+
Initially, you may want to train the spam filter manually to quickly build a database of spam and non-spam tokens, words, or short character sequences that are commonly found in spam or ham. To do this, you can manually forward messages as message/rfc822 attachments to the spam and non-spam mailboxes. When <span class="attribute">zmtrainsa</span> runs, these messages are used to teach the spam filter. Make sure you add a large enough sampling of messages to these mailboxes. In order to get accurate scores to determine whether to mark messages as spam at least 200 known spams and 200 known hams must be identified.
 
 
</div><div class="Bulleted1_outer">
 
 
 
{| id="SummaryNotRequired_np1047436"
 
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol"></span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_invalid_hostname</div>
 
|}
 
 
 
</div><div class="Bulleted1_outer">
 
 
 
{| id="SummaryNotRequired_np1047437"
 
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_non_fqdn_hostname</div>
 
|}
 
 
 
</div><div class="Bulleted1_outer">
 
 
 
{| id="SummaryNotRequired_np1047438"
 
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_non_fqdn_sender</div>
 
|}
 
  
 
</div><div class="Body">
 
</div><div class="Body">
  
You can set the following, in addition to the three above:
+
The zmtrainsa command can be run manually to forward any folder from any mailbox to the spam training mailboxes. To send a folder to the spam training mailbox, type the command as:
  
</div><div class="Bulleted1_outer">
+
</div><div class="Body" style="font-style: normal; font-variant: normal; margin-bottom: 6.0pt; margin-top: 6.0pt; text-transform: none; vertical-align: baseline">'''<font color="#000000"> <span class="Code">zmtrainsa <server> <user> <password> spam [foldername] </span> </font>'''</div><div class="Body">
  
{| id="SummaryNotRequired_np1047440"
+
To send the to the non-spam training mailbox, type:
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_rbl_client dnsbl.njabl.org</div>
 
|}
 
  
</div><div class="Bulleted1_outer">
+
</div><div class="Body" style="font-style: normal; font-variant: normal; margin-bottom: 6.0pt; margin-top: 6.0pt; text-transform: none; vertical-align: baseline">'''<font color="#000000"> <span class="Code">zmtrainsa <server> <user> <password> ham [foldername]</span> </font>'''</div><div class="a_0033Heading">
  
{| id="SummaryNotRequired_np1047441"
 
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_rbl_client opm.blitzed.org</div>
 
|}
 
  
</div><div class="Bulleted1_outer">
+
Password is not needed in 4.5.6+ see [[CLI_zmtrainsa]]
  
{| id="SummaryNotRequired_np1047442"
+
===Turning On or Off RBLs===
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_rbl_client relays.ordb.org</div>
 
|}
 
 
 
</div><div class="Bulleted1_outer">
 
 
 
{| id="SummaryNotRequired_np1047443"
 
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_rbl_client cbl.abuseat.org</div>
 
|}
 
 
 
</div><div class="Bulleted1_outer">
 
 
 
{| id="SummaryNotRequired_np1047444"
 
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_rbl_client bl.spamcop.net</div>
 
|}
 
 
 
</div><div class="Bulleted1_outer">
 
 
 
{| id="SummaryNotRequired_np1047445"
 
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_rbl_client dnsbl.sorbs.net</div>
 
|}
 
 
 
</div><div class="Bulleted1_outer">
 
 
 
{| id="SummaryNotRequired_np1047446"
 
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_rbl_client sbl.spamhaus.org</div>
 
|}
 
 
 
</div><div class="Bulleted1_outer">
 
 
 
{| id="SummaryNotRequired_np1047447"
 
|
 
<div class="Bulleted1_inner" style="width: 14.4pt; white-space: nowrap;"><span class="BulletSymbol">• </span></div>
 
| width="100%" |
 
<div class="Bulleted1_inner">reject_rbl_client relays.mail-abuse.org</div>
 
|}
 
 
 
</div><div class="a_0033Heading">
 
 
 
====To turn RBL on====
 
 
 
</div><div class="Numbered1_outer">
 
 
 
{| id="SummaryNotRequired_np1047449"
 
|
 
<div class="Numbered1_inner" style="width: 13.7448pt; white-space: nowrap;"><span class="StepNumber">1. </span></div>
 
| width="100%" |
 
<div class="Numbered1_inner">Log on to the server and go to the Zimbra directory (su - zimbra)</div>
 
|}
 
 
 
</div><div class="Numbered_outer">
 
 
 
{| id="SummaryNotRequired_np1047450"
 
|
 
<div class="Numbered_inner" style="width: 13.7448pt; white-space: nowrap;"><span class="StepNumber">2. </span></div>
 
| width="100%" |
 
<div class="Numbered_inner">Enter<span class="Code"> zmprov gacf | grep zimbraMtaRestriction, </span>to see what RBLs are set.</div>
 
|}
 
  
</div><div class="Numbered_outer">
+
See [[SpamAssassin_Customizations | Customizing the MTA]] for current information
 
 
{| id="SummaryNotRequired_np1047451"
 
|
 
<div class="Numbered_inner" style="width: 13.7448pt; white-space: nowrap;"><span class="StepNumber">3. </span></div>
 
| width="100%" |
 
<div class="Numbered_inner">To add any new RBL types, you must list the existing RBLs and the new RBLs all in one command as:</div>
 
|}
 
 
 
</div><div class="NumberedCont" style="color: #000000; font-family: "Times New Roman"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: bold; text-transform: normal; vertical-align: baseline;"><span class="Code">zmprov mcf zimbraMtaRestriction [RBL type]</span></div><div class="NumberedCont">To add all the possible restrictions, the command would be</div><div class="NumberedCont" style="color: #000000; font-family: "Times New Roman"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: bold; text-transform: normal; vertical-align: baseline;"><span class="Code">zmprov mcf zimbraMtaRestriction reject_invalid_hostname zimbraMtaRestriction </span> <span class="Code">reject_non-fqdn_hostname zimbraMtaRestriction reject_non_fqdn_sender </span> <span class="Code">zimbraMtaRestriction “reject_rbl_client dnsbl.njabl.org” zimbraMtaRestriction </span> <span class="Code">“reject_rbl_client opm.blitzed.org” zimbraMtaRestriction “reject_rbl_client </span> <span class="Code">relays.ordb.org” zimbraMtaRestriction “reject_rbl_client cbl.abuseat.org” </span> <span class="Code">zimbraMtaRestriction “reject_rbl_client bl.spamcop.net” zimbraMtaRestriction </span> <span class="Code">“reject_rbl_client dnsbl.sorbs.net”</span></div><div class="Notice">
 
 
 
<span class="Bold">Note: </span>Quotes must be added to RBL types that are two words.
 
 
 
</div><div class="a_0031Heading">
 
  
 
==Receiving and Sending Mail through Zimbra MTA==
 
==Receiving and Sending Mail through Zimbra MTA==
 
</div><div class="Body">
 
  
 
The Zimbra MTA delivers both the incoming and the outgoing mail messages. For outgoing mail, the Zimbra MTA determines the destination of the recipient address. If the destination host is local, the message is passed to the Zimbra server for delivery. If the destination host is a remote mail server, the Zimbra MTA must establish a communication method to transfer the message to the remote host. For incoming messages, the MTA must be able to accept connection requests from remote mail servers and receive messages for the local users.
 
The Zimbra MTA delivers both the incoming and the outgoing mail messages. For outgoing mail, the Zimbra MTA determines the destination of the recipient address. If the destination host is local, the message is passed to the Zimbra server for delivery. If the destination host is a remote mail server, the Zimbra MTA must establish a communication method to transfer the message to the remote host. For incoming messages, the MTA must be able to accept connection requests from remote mail servers and receive messages for the local users.
  
</div><div class="Body">
+
In order to send and receive email, the Zimbra MTA must be configured in DNS with both an <span class="Link">[B_app-glossary.16.1.html#1037278 A record]</span> and a <span class="Link">[B_app-glossary.16.1.html#1021370 MX Record]</span>. For sending mail, the MTA use DNS to resolve hostnames and email-routing information. To receive mail, the MX record must be configured correctly to route messages to the mail server.
  
In order to send and receive email, the Zimbra MTA must be configured in DNS with both an A record and a MX Record. For sending mail, the MTA use DNS to resolve hostnames and email-routing information. To receive mail, the MX record must be configured correctly to route messages to the mail server.
+
<div class="Body">
 
 
</div><div class="Body">
 
  
 
You must configure a relay host if you do not enable DNS. Even if a relay host is configured, an MX record is still required if the server is going to receive email from the internet.
 
You must configure a relay host if you do not enable DNS. Even if a relay host is configured, an MX record is still required if the server is going to receive email from the internet.
Line 509: Line 392:
  
 
When the Zimbra MTA receives mail, it routes the mail through a series of queues to manage delivery. The Zimbra MTA maintains four queues where mail is temporarily placed while being processed: incoming, active, deferred and hold.
 
When the Zimbra MTA receives mail, it routes the mail through a series of queues to manage delivery. The Zimbra MTA maintains four queues where mail is temporarily placed while being processed: incoming, active, deferred and hold.
 
</div><div class="Body">[[Image:6_MTA.5.1.2.jpg]]</div><div class="a_0034Heading">
 
 
Incoming.
 
  
 
</div><div class="Body">
 
</div><div class="Body">
  
The incoming message queue holds the new mail that has been received. Each message is identified with a unique file name. Messages in the incoming queue are moved to the active queue when there is room in the active queue. If there are no problems, message move through this queue very quickly.
+
[[Image:6_MTA.5.1.2.jpg]]
  
 
</div><div class="a_0034Heading">
 
</div><div class="a_0034Heading">
  
Active.
+
=====Incoming.=====
  
 
</div><div class="Body">
 
</div><div class="Body">
  
The active message queue holds messages that are ready to be sent. The MTA sets a limit to the number of messages that can be in the active queue at any one time. From here, messages are moved to and from the anti-virus and anti-spam filters before being delivered or moved to another queue.
+
The incoming message queue holds the new mail that has been received. Each message is identified with a unique file name. Messages in the incoming queue are moved to the active queue when there is room in the active queue. If there are no problems, message move through this queue very quickly.
  
 
</div><div class="a_0034Heading">
 
</div><div class="a_0034Heading">
  
Deferred.
+
=====Active.=====
  
 
</div><div class="Body">
 
</div><div class="Body">
  
Message that cannot be delivered for some reason are placed in the deferred queue. The reasons for the delivery failures is documented in a file in the deferred queue. This queue is scanned frequently to resend the message. If the message cannot be sent after the set number of delivery attempts, the message fails. The message is bounced back to the original sender.
+
The active message queue holds messages that are ready to be sent. The MTA sets a limit to the number of messages that can be in the active queue at any one time. From here, messages are moved to and from the anti-virus and anti-spam filters before being delivered or moved to another queue.
  
 
</div><div class="a_0034Heading">
 
</div><div class="a_0034Heading">
  
Hold.
+
=====Deferred.=====
  
 
</div><div class="Body">
 
</div><div class="Body">
  
The hold message queue keeps mail that could not be processed. Messages stay in this queue until the administrator moves them. No periodic delivery attempts are made for messages in the hold queue.
+
Message that cannot be delivered for some reason are placed in the deferred queue. The reasons for the delivery failures is documented in a file in the deferred queue. This queue is scanned frequently to resend the message. If the message cannot be sent after the set number of delivery attempts, the message fails. The message is bounced back to the original sender.
 
+
{{Article Footer|Zimbra Collaboration 8.0, 7.0|04/16/2014}}
</div><div class="a_0034Heading">
+
[[Category:MTA]]
 
+
[[Category:Architecture and Components]]
Corrupt.
 
 
 
</div><div class="Body">
 
 
 
The corrupt queue stores damaged unreadable messages.
 
 
 
</div><div class="Body">
 
 
 
You can monitor the mail queues for delivery problems from the administration console.
 

Latest revision as of 14:27, 13 July 2015

Zimbra MTA

   KB 1458        Last updated on 2015-07-13  




0.00
(0 votes)

The Zimbra MTA (Mail Transfer Agent) receives mail via SMTP and routes each message, using Local Mail Transfer Protocol (LMTP), to the appropriate Zimbra mailbox server.

The Zimbra MTA server includes the following programs:

Postfix MTA, for mail routing, mail relay, and attachment blocking
Clam AntiVirus, an antivirus engine used for scanning email messages and attachments in email messages for viruses
SpamAssassin and DSPAM, mail filters that attempt to identify unsolicited commercial email (spam), using a variety of mechanisms
Amavisd-New, a Postfix content filter used as an interface between Postfix and ClamAV / SpamAssassin

In the Zimbra Collaboration Suite configuration, mail transfer and delivery are distinct functions. Postfix primarily acts as a Mail Transfer Agent (MTA) and the Zimbra mail server acts as a Mail Delivery agent (MDA).

MTA configuration is stored in LDAP and a configuration script automatically polls the LDAP directory every two minutes for modifications, and updates the Postfix configuration files with the changes.

Zimbra MTA Deployment

The Zimbra Collaboration Suite includes a precompiled version of Postfix. This version does not have any changes to the source code, but it does include configuration file modifications, additional scripts, and tools.

Postfix performs the Zimbra mail transfer and relay. It receives inbound messages via SMTP, and hands off the mail messages to the Zimbra server via LMTP, as shown in the following figure. The Zimbra MTA can also perform anti-virus and anti-spam filtering.

Postfix also plays a role in transfer of outbound messages. Messages composed from the Zimbra web client are sent by the Zimbra server through Postfix, including messages sent to other users on the same Zimbra server.

Figure 6: Postfix in a Zimbra Environment

6 MTA.5.1.1.jpg


*The term “edge MTA” is a generic term referring to any sort of edge security solution for mail. You may already deploy such solutions for functions such as filtering. The edge MTA is optional. Some filtering may be duplicated between an edge MTA and the Zimbra MTA.

Postfix Configuration Files

Zimbra modified the following Postfix files specifically to work with the Zimbra Collaboration Suite:

main.cf - Modified to include the LDAP tables. The configuration script in the Zimbra MTA pulls data from the Zimbra LDAP and modifies the Postfix configuration files.
master.cf - Modified to use Amavisd-New.

Important: Do not modify the Postfix configuration files directly! Some of the Postfix files are rewritten when changes are made in the administration console. Any changes you make will be overwritten.

MTA Functionality

Zimbra MTA Postfix functionality includes:

SMTP authentication
Attachment blocking
Relay host configuration
Postfix-LDAP integration
Integration with Amavisd-New, ClamAV, and Spam Assassin

SMTP Authentication

SMTP authentication allows authorized mail clients from external networks to relay messages through the Zimbra MTA. The user ID and password is sent to the MTA when the SMTP client sends mail so the MTA can verify if the user is allowed to relay mail.

Note: User authentication is provided through the Zimbra LDAP directory server, or if implemented, through the Microsoft Active Directory Sever.

SMTP Restrictions

In the administration console, you can enable restrictions so that messages are not accepted by Postfix when non-standard or other disapproved behavior is exhibited by an incoming SMTP client. These restrictions provide some protection against ill-behaved spam senders. By default, SMTP protocol violators (that is, clients that do not greet with a fully qualified domain name) are restricted. DNS based restrictions are also available.

Important: Understand the implications of these restrictions before you implement them. You may want to receive mail from people outside of your mail system, but those mail systems may be poorly implemented. You may have to compromise on these checks to accommodate them.

Relay Host Settings

Postfix can be configured to send all non-local mail to a different SMTP server. Such a destination SMTP server is commonly referred to as a “relay” or “smart” host. You can set this relay host from the administration console.

A common use case for a relay host is when an ISP requires that all your email be relayed through designated host, or if you have some filtering SMTP proxy server.

In the administration console, the relay host setting must not be confused with web mail MTA setting. Relay host is the MTA to which Postfix relays non-local email. Webmail MTA is used by the Zimbra server for composed messages and must be the location of the Postfix server in the Zimbra MTA package.

Important: Use caution when setting the relay host to prevent mail loops

MTA-LDAP Integration

The Zimbra LDAP directory service is used to look up email delivery addresses. The version of Postfix included with Zimbra is configured during the installation of the Zimbra Collaboration Suite to use the Zimbra LDAP directory.

Account Quota and the MTA

Account quota is the storage limit allowed for an account. Account quotas can be set by COS or per account. The MTA attempts to deliver a message, and if a Zimbra user’s mailbox exceeds the set quota, the Zimbra mailbox server rejects the message as mailbox is full and the sender gets a bounce message. You can view account quotas from the Administration Console, Monitoring Server Statistics section.

MTA and Amavisd-New Integration

The Amavisd-New utility is the interface between the Zimbra MTA and Clam AV and SpamAssassin scanners.

Anti-Virus Protection

Clam AntiVirus software is bundled with the Zimbra Collaboration Suite as the virus protection engine. The Clam anti-virus software is configured to block encrypted archives, to send notification to administrators when a virus has been found, and to send notification to recipients alerting that a mail message with a virus was not delivered.

The anti-virus protection is enabled during installation. You can also enable or disable virus checking from Global Settings on the administration console. By default, the Zimbra MTA checks every two hours for any new anti-virus updates from ClamAV.

Note: Updates are obtained via HTTP from the ClamAV website.

Anti-Spam Protection

SpamAssassin and DSPAM are spam filters bundled with ZCS. When ZCS is installed, spam training is automatically enabled to let users train spam filters when they move messages in and out of their junk folders.

The SpamAssassin default configuration for ZCS is as follows:

zimbraSpamKillPercent: Spaminess percentage beyond which a message is dropped. Default kill percent at 75%. Mail that is scored at 75% is considered spam and is not delivered. SpamAssassin score of 20 is considered 100%. 75% equates to a spam score of 15.
zimbraSpamTagPercent: Spaminess percentage beyond which a message is marked as spam. Default tag percent at 33%. Mail that is scored at 33% is considered spam and is delivered to the Junk folder. Since a SpamAssassin score of 20 equates to 100%, the zimbraSpamTagPercent would equate to a spam score of 6.6.

A Subject Prefix can be configured so messages considered as spam are identified in the subject line as tagged as spam. When a message is tagged as spam, the message is delivered to the recipient’s Junk folder.

You can change these settings from the administration console, Global Settings Anti-Spam tab.

Note: ZCS configures the spam filter to add 0.5 to the Spamassassin score if DSPAM marks the message as spam and deduct 0.1 if DSPAM does not label it as spam.

Anti-Spam Training Filters

When ZCS is installed, the automated spam training filter is enabled and two feedback mailboxes are created to receive mail notification.

Spam Training User to receive mail notification about mail that was not marked as junk, but should be.
Non-spam (HAM) training user to receive mail notification about mail that was marked as junk, but should not have been.

For these training accounts, the mailbox quota is disabled (i.e. set to 0) and attachment indexing is disabled. Disabling quotas prevents bouncing messages when the mailbox is full.

How well the anti-spam filter works depends on recognizing what is considered spam or not considered spam. The SpamAssassin filter can learn what is spam and what is not spam from messages that users specifically mark as Junk from their web client toolbar or Not Junk from the web client Junk folder. A copy of these marked messages is sent to the appropriate spam training mailbox.The Zimbra spam training tool, zmtrainsa, is configured to automatically retrieve these messages and train the spam filter.

The zmtrainsa script is enabled through a cron job to feed mail that has been classified as spam or as non-spam to the SpamAssassin application, allowing SpamAssassin to ‘learn’ what signs are likely to mean spam or ham. The zmtrainsa script empties these mailboxes each day.

By default all users can give feedback in this way. If you do not want users to train the spam filter, you can modify the global configuration attributes, zimbraSpamIsSpamAccount and zimbraSpamIsNotSpamAccount, and remove the spam/ham account addresses from the attributes. To remove, type as:

zmprov mcf <attribute> ‘’

Restart the Zimbra services, type zmcontrol stop and then zmcontrol start.

When these attributes are modified, messages marked as junk or not junk are not copied to the spam training mailboxes.

Initially, you may want to train the spam filter manually to quickly build a database of spam and non-spam tokens, words, or short character sequences that are commonly found in spam or ham. To do this, you can manually forward messages as message/rfc822 attachments to the spam and non-spam mailboxes. When zmtrainsa runs, these messages are used to teach the spam filter. Make sure you add a large enough sampling of messages to these mailboxes. In order to get accurate scores to determine whether to mark messages as spam at least 200 known spams and 200 known hams must be identified.

The zmtrainsa command can be run manually to forward any folder from any mailbox to the spam training mailboxes. To send a folder to the spam training mailbox, type the command as:

zmtrainsa <server> <user> <password> spam [foldername]

To send the to the non-spam training mailbox, type:

zmtrainsa <server> <user> <password> ham [foldername]


Password is not needed in 4.5.6+ see CLI_zmtrainsa

Turning On or Off RBLs

See Customizing the MTA for current information

Receiving and Sending Mail through Zimbra MTA

The Zimbra MTA delivers both the incoming and the outgoing mail messages. For outgoing mail, the Zimbra MTA determines the destination of the recipient address. If the destination host is local, the message is passed to the Zimbra server for delivery. If the destination host is a remote mail server, the Zimbra MTA must establish a communication method to transfer the message to the remote host. For incoming messages, the MTA must be able to accept connection requests from remote mail servers and receive messages for the local users.

In order to send and receive email, the Zimbra MTA must be configured in DNS with both an [B_app-glossary.16.1.html#1037278 A record] and a [B_app-glossary.16.1.html#1021370 MX Record]. For sending mail, the MTA use DNS to resolve hostnames and email-routing information. To receive mail, the MX record must be configured correctly to route messages to the mail server.

You must configure a relay host if you do not enable DNS. Even if a relay host is configured, an MX record is still required if the server is going to receive email from the internet.

Zimbra MTA Message Queues

When the Zimbra MTA receives mail, it routes the mail through a series of queues to manage delivery. The Zimbra MTA maintains four queues where mail is temporarily placed while being processed: incoming, active, deferred and hold.

6 MTA.5.1.2.jpg

Incoming.

The incoming message queue holds the new mail that has been received. Each message is identified with a unique file name. Messages in the incoming queue are moved to the active queue when there is room in the active queue. If there are no problems, message move through this queue very quickly.

Active.

The active message queue holds messages that are ready to be sent. The MTA sets a limit to the number of messages that can be in the active queue at any one time. From here, messages are moved to and from the anti-virus and anti-spam filters before being delivered or moved to another queue.

Deferred.

Message that cannot be delivered for some reason are placed in the deferred queue. The reasons for the delivery failures is documented in a file in the deferred queue. This queue is scanned frequently to resend the message. If the message cannot be sent after the set number of delivery attempts, the message fails. The message is bounced back to the original sender.

Verified Against: Zimbra Collaboration 8.0, 7.0 Date Created: 04/16/2014
Article ID: https://wiki.zimbra.com/index.php?title=Zimbra_MTA Date Modified: 2015-07-13



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search