<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.tetrain.com/index.php?action=history&amp;feed=atom&amp;title=Best_Practices_on_Email_Protection</id>
	<title>Best Practices on Email Protection - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tetrain.com/index.php?action=history&amp;feed=atom&amp;title=Best_Practices_on_Email_Protection"/>
	<link rel="alternate" type="text/html" href="https://wiki.tetrain.com/index.php?title=Best_Practices_on_Email_Protection&amp;action=history"/>
	<updated>2026-07-27T11:09:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.tetrain.com/index.php?title=Best_Practices_on_Email_Protection&amp;diff=4269&amp;oldid=prev</id>
		<title>Admin: Auto-created from uploaded PDF text extraction</title>
		<link rel="alternate" type="text/html" href="https://wiki.tetrain.com/index.php?title=Best_Practices_on_Email_Protection&amp;diff=4269&amp;oldid=prev"/>
		<updated>2026-07-26T16:27:08Z</updated>

		<summary type="html">&lt;p&gt;Auto-created from uploaded PDF text extraction&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;Auto-generated from the uploaded PDF [[:File:Best_Practices_on_Email_Protection.pdf|Best_Practices_on_Email_Protection.pdf]]. This is an extracted-text rendering for searchability; see the original PDF for exact formatting, diagrams, tables, and images.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Best Practices on Email Protection: SPF, DKIM&lt;br /&gt;
and DMARC&lt;br /&gt;
Table of Contents&lt;br /&gt;
Best Practices on Email Protection: SPF, DKIM and DMARC ................................................................1&lt;br /&gt;
  SPF ........................................................................................................................................................1&lt;br /&gt;
      Where needs to be configured? ........................................................................................................2&lt;br /&gt;
      How to configure it? .........................................................................................................................2&lt;br /&gt;
      Understand the &amp;quot;all&amp;quot; feature in the SPF entry ...................................................................................3&lt;br /&gt;
      Difference between ~all and -all.......................................................................................................3&lt;br /&gt;
      How to test it.....................................................................................................................................3&lt;br /&gt;
      Deprecated SPF RR, use TXT RR only............................................................................................4&lt;br /&gt;
  DKIM ....................................................................................................................................................4&lt;br /&gt;
      Where needs to be configured? ........................................................................................................5&lt;br /&gt;
      How to configure it? .........................................................................................................................5&lt;br /&gt;
      How to test it.....................................................................................................................................5&lt;br /&gt;
      2048-bit signatures starting ZCS 8.7.x .............................................................................................5&lt;br /&gt;
         How to check that you have a valid DKIM signature..................................................................6&lt;br /&gt;
  DMARC ................................................................................................................................................7&lt;br /&gt;
      Where needs to be configured? ........................................................................................................8&lt;br /&gt;
      How to configure it? .........................................................................................................................8&lt;br /&gt;
      How to test it.....................................................................................................................................9&lt;br /&gt;
  rDNS....................................................................................................................................................10&lt;br /&gt;
      Where needs to be configured? ......................................................................................................10&lt;br /&gt;
      How to configure it? .......................................................................................................................10&lt;br /&gt;
      How to test it...................................................................................................................................10&lt;br /&gt;
  Zimbra Settings For DMARC Alignment ........................................................................................... 11&lt;br /&gt;
      Out Of Office Replies (Auto Responders) ..................................................................................... 11&lt;br /&gt;
      Zimbra Web Client Personas .......................................................................................................... 11&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once we installed Zimbra Collaboration, we need to be aware of some additional configurations that&lt;br /&gt;
will allow us to send emails to other Email systems with an improve Security, such Gmail, Hotmail,&lt;br /&gt;
Yahoo!, etc. This Wiki article will show the different Email Protection resources that exists, depends of&lt;br /&gt;
the volume of sent email, will be better to implement only one, or two, or maybe all of them, depends.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                                              1&lt;br /&gt;
&lt;br /&gt;
SPF&lt;br /&gt;
Sender Policy Framework (SPF) is an email validation system, designed to prevent unwanted emails&lt;br /&gt;
using a spoofing system. To check this common security problem, SPF going to verify the source IP of&lt;br /&gt;
the email and compare it with a DNS TXT record with a SPF content.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Where needs to be configured?&lt;br /&gt;
SPF needs to be configured in the Public DNS&lt;br /&gt;
&lt;br /&gt;
How to configure it?&lt;br /&gt;
First of all, generate the TXT SPF DNS entry (using the MXToolbox SPF Tool, or something similar),&lt;br /&gt;
for example with the domain called domain.com and have 3 different entries to add:&lt;br /&gt;
     The A entry - mail.domain.com&lt;br /&gt;
     The MX entry - srvmta.domain.com&lt;br /&gt;
     The IPv4 entry - 60.70.80.90&lt;br /&gt;
If in your email system you are using external services like Mailchimp, Salesforce, etc. add them in the&lt;br /&gt;
include part, for example:&lt;br /&gt;
     include:servers.mcsv.net (Mailchimp)&lt;br /&gt;
     include:_spf.salesforce.com (Salesforce)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                   2&lt;br /&gt;
&lt;br /&gt;
     include:_spf.google.com (Google Apps)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example will look like:&lt;br /&gt;
&lt;br /&gt;
Understand the &amp;quot;all&amp;quot; feature in the SPF entry&lt;br /&gt;
SPF can be configured in different ways, since neutral to hard fail. Almost 98% of domains are using&lt;br /&gt;
the ~all (softfail) that means even if something of the SPF entry is wrong against the source Mailserver,&lt;br /&gt;
mark the mail only like softfail. Here, the complete table to understand the feature all in the SPF&lt;br /&gt;
&lt;br /&gt;
 Parameter Result                                          Means&lt;br /&gt;
+all       pass     Permits all the email, like have nothing configured.&lt;br /&gt;
                    Will only mark the email like pass if the source Email Server fits exactly, IP, MX,&lt;br /&gt;
-all       fail&lt;br /&gt;
                    etc. with the SPF entry.&lt;br /&gt;
~all       softfail Allows to send the email, and if something is wrong will mark it like softfail.&lt;br /&gt;
?all       neutral Without policy&lt;br /&gt;
&lt;br /&gt;
Difference between ~all and -all&lt;br /&gt;
If your domain is under an SPAM attack trying to spoofing your domain, try to change the SPF to -all&lt;br /&gt;
for a while, and reset to ~all when the attack ends. Keep selected the -all if you want to be strict with&lt;br /&gt;
the SPF entry and you are sure that your DNS entry is correct.&lt;br /&gt;
&lt;br /&gt;
How to test it&lt;br /&gt;
Have a lot of SPF tools to check if the DNS entry is correct, for example:&lt;br /&gt;
     http://tools.wordtothewise.com/spf (will show an overview of all the allowed IPS that can&lt;br /&gt;
      send using the domain)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                     3&lt;br /&gt;
&lt;br /&gt;
     http://www.kitterman.com/spf/validate.html (Simple but effective, will show the SPF DNs&lt;br /&gt;
      entry and also the result: pass, softfail, fail, neutral, etc.)&lt;br /&gt;
     http://mxtoolbox.com/ A Classic&lt;br /&gt;
&lt;br /&gt;
Deprecated SPF RR, use TXT RR only&lt;br /&gt;
In April 2014, the SPF DNS record was deprecated in the RFC, and the correct way to implement the&lt;br /&gt;
SPF is using only a TXT DNS record. For example, this was a valid DNS entries before April 2014,&lt;br /&gt;
TXT and SPF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And here the RFC text where you can find the part about use only TXT:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     RFC before April 2014&lt;br /&gt;
     RFC after April 2014&lt;br /&gt;
&lt;br /&gt;
DKIM&lt;br /&gt;
DomainKeys Identified Mail (DKIM), is a method to associate the domain name and the email,&lt;br /&gt;
allowing to a person or company assume the responsibiltity of the email.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                 4&lt;br /&gt;
&lt;br /&gt;
Where needs to be configured?&lt;br /&gt;
DKIM needs to be generated per domain in our Zimbra Server, and needs to be configured in the public&lt;br /&gt;
DNS of each domain.&lt;br /&gt;
&lt;br /&gt;
How to configure it?&lt;br /&gt;
To configure properly DKIM, please follow the next Wiki - Configuring_for_DKIM_Signing&lt;br /&gt;
Once have the DKIM generated in Zimbra, add the info in the public DNS, will looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How to test it&lt;br /&gt;
Have multiple websites to test it, for example:&lt;br /&gt;
     http://dkimvalidator.com You need to send a email, once you have the DKIM configured, then&lt;br /&gt;
      in the website will found a section called DKIM and the result in the end, if the test is passed or&lt;br /&gt;
      not.&lt;br /&gt;
&lt;br /&gt;
2048-bit signatures starting ZCS 8.7.x&lt;br /&gt;
Starting ZCS 8.7.x Zimbra generates a 2048-bit key, after run the next command (mind the -a if it&amp;#039;s the&lt;br /&gt;
first time, and -u if you are updating the DKIM):&lt;br /&gt;
/opt/zimbra/libexec/zmdkimkeyutil -a -d yourdomain.com&lt;br /&gt;
&lt;br /&gt;
You will observe something like the next (with your own information):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                    5&lt;br /&gt;
&lt;br /&gt;
DKIM Data added to LDAP for domain zimbra.io with selector 25D766CE-CEAC-11E7-B087-&lt;br /&gt;
020B6DB9DD9A&lt;br /&gt;
Public signature to enter into DNS:&lt;br /&gt;
25D766CE-CEAC-11E7-B087-020B6DB9DD9A._domainkey IN      TXT     ( &amp;quot;v=DKIM1; k=rsa;&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwA4vVMiV3/14hRMzbKNnBKNThqxTWLi2E5Nq&lt;br /&gt;
qHLccIJg/P33yqwgGVKKUM9HFfXZ8urz6/dl8oNG3oxs73W1sgWHrFRo3ZayHsuUMe+DLyt8wtyR/RUae0n&lt;br /&gt;
vd6Z6t0lPwujXWBrRS/FeMg/IGA8ExBKjD+aAYdQfH/lhlDGzumTXgbSB0KMzlpOjcum2Aes69rEiR744GG&lt;br /&gt;
aPb2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;X3MxK8vjpeMIx16n2tADb0wKKP19WTF0at5HCP8F4SFflLUPJMOC1Be9FCWjTjNr1qrRZTwCwC7OC9tnV7&lt;br /&gt;
SsKKXG+8D6hu39Tm5U1GLzpKvLMIv14b6MWsU9cV/iVKH+hQq4YRowIDAQAB&amp;quot; ) ; ----- DKIM key&lt;br /&gt;
25D766CE-CEAC-11E7-B087-020B6DB9DD9A for zimbra.io&lt;br /&gt;
&lt;br /&gt;
By default, DNS Servers only accepts 255 characters on every TXT entry, so depending on the DNS&lt;br /&gt;
Server you are using you will need to do one of the next:&lt;br /&gt;
     On cPanel UI it&amp;#039;s as easy at creating one new TXT entry with the selector, and on the value all&lt;br /&gt;
      together like &amp;quot;v=DKIM1; k=rsa; p=ALL-THE-CODE-&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     If using old version of Bind, or other DNS Server based in CLI, you can try by adding the DNS&lt;br /&gt;
      entry on the next format:&lt;br /&gt;
25D766CE-CEAC-11E7-B087-020B6DB9DD9A._domainkey                IN     TXT      (&amp;quot;v=DKIM1; k=rsa;&lt;br /&gt;
p=MIIBIjANBgkqhkiG9w...&amp;quot;&lt;br /&gt;
25D766CE-CEAC-11E7-B087-020B6DB9DD9A._domainkey                IN     TXT      &amp;quot;...AQAB&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
     Another way some DNS Servers might work are the next one:&lt;br /&gt;
25D766CE-CEAC-11E7-B087-020B6DB9DD9A._domainkey IN                   TXT       (&amp;quot;v=DKIM1;k=rsa;&lt;br /&gt;
p=&amp;quot;&lt;br /&gt;
&amp;quot;MIIBIjANBgkqhkiG9w...&amp;quot;&lt;br /&gt;
&amp;quot;...AQAB&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
How to check that you have a valid DKIM signature&lt;br /&gt;
You can check if you have a valid DKIM by using for example the next URL -&lt;br /&gt;
http://dkimcore.org/tools/keycheck.html : Introduce your selector and your domain and click on check&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                  6&lt;br /&gt;
&lt;br /&gt;
After a few seconds you will see the result:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DMARC&lt;br /&gt;
DMARC, which stands for “Domain-based Message Authentication, Reporting &amp;amp; Conformance”, is a&lt;br /&gt;
technical specification created by a group of organizations that want to help reduce the potential for&lt;br /&gt;
email-based abuse by solving a couple of long-standing operational, deployment, and reporting issues&lt;br /&gt;
related to email authentication protocols.&lt;br /&gt;
DMARC standardizes how email receivers perform email authentication using the well-known SPF and&lt;br /&gt;
DKIM mechanisms. This means that senders will experience consistent authentication results for their&lt;br /&gt;
messages at AOL, Gmail, Hotmail, Yahoo! and any other email receiver implementing DMARC. We&lt;br /&gt;
hope this will encourage senders to more broadly authenticate their outbound email which can make&lt;br /&gt;
email a more reliable way to communicate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                   7&lt;br /&gt;
&lt;br /&gt;
Text and Image inspired from the Official dmarc org website&lt;br /&gt;
&lt;br /&gt;
Where needs to be configured?&lt;br /&gt;
The DMARC needs to be configured in the public DNS.&lt;br /&gt;
&lt;br /&gt;
How to configure it?&lt;br /&gt;
The DMARC record can be generated in multiple websites, for example&lt;br /&gt;
http://www.kitterman.com/dmarc/assistant.html&lt;br /&gt;
Using the domain example.com, a possible option can be the next, please note that all the default&lt;br /&gt;
options will be included implicit, even if you don&amp;#039;t select them in the generator:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                   8&lt;br /&gt;
&lt;br /&gt;
This configuration will generate the next DNS entry&lt;br /&gt;
     DMARC record for: example.com&lt;br /&gt;
     Record should be published at _dmarc.example.com&lt;br /&gt;
     v=DMARC1; p=quarantine; rua=dmarc@example.com; ruf=dmarc@example.com;&lt;br /&gt;
      sp=quarantine&lt;br /&gt;
And will looks like this in a DNS with web interface:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How to test it&lt;br /&gt;
One of the best Sites to test the DMARC is the next link - https://dmarcian.com/dmarc-&lt;br /&gt;
inspector/google.com is coming with the google.com domain per default. This website will show you&lt;br /&gt;
all the DMARC information about your domain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                   9&lt;br /&gt;
&lt;br /&gt;
rDNS&lt;br /&gt;
The reverse DNS resolution (rDNS) is a determination of the domain name that is associated to an IP.&lt;br /&gt;
Some email companies like AOL, for example, will reject any email that doesn&amp;#039;t have a valid rDNS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Where needs to be configured?&lt;br /&gt;
To have a perfect match between the rDNS and the SMTP Banner of the server, need to have the next:&lt;br /&gt;
     In the public DNS of the ISP provider. Or if you have control of the public DNS of your IP&lt;br /&gt;
      range, then you can add the rDNS by yourself.&lt;br /&gt;
     In the Zimbra Server, need to edit the HELO to match between it and the rDNS record.&lt;br /&gt;
&lt;br /&gt;
How to configure it?&lt;br /&gt;
To modify the Public DNS to match the IP and the rDNS, you need to contact with your ISP provider,&lt;br /&gt;
or if you have acces to edit the DNS record of your IP, then change it by yourself. For example, if you&lt;br /&gt;
have the IP 60.60.60.60 and needs to resolve to mail.example.com.&lt;br /&gt;
To edit the SMTP Banner and match it with the external rDNS. Need to edit the next in Zimbra:&lt;br /&gt;
Zimbra 8.0.X&lt;br /&gt;
zmlocalconfig -e postfix_smtpd_banner=&amp;quot;mail.example.com&amp;quot;&lt;br /&gt;
zmcontrol restart&lt;br /&gt;
&lt;br /&gt;
Zimbra 8.5, 8.6, and above&lt;br /&gt;
zmprov ms `zmhostname` zimbraMtaSmtpdBanner mail.example.com&lt;br /&gt;
zmcontrol restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How to test it&lt;br /&gt;
Use the next tool - http://mxtoolbox.com/ReverseLookup.aspx and fill it with your Public IP, if you&lt;br /&gt;
have everything well configured, will return the name that you want.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                   10&lt;br /&gt;
&lt;br /&gt;
Zimbra Settings For DMARC Alignment&lt;br /&gt;
Out Of Office Replies (Auto Responders)&lt;br /&gt;
Check your zimbraAutoSubmittedNullReturnPath global setting to ensure it is set to false. As the&lt;br /&gt;
Zimbra user (su - zimbra) run:&lt;br /&gt;
     zmprov gcf zimbraAutoSubmittedNullReturnPath&lt;br /&gt;
     zmprov mcf zimbraAutoSubmittedNullReturnPath FALSE&lt;br /&gt;
If this is set to False, it will cause the Return Path address in Out Of Office Replies to an empty value&lt;br /&gt;
like &amp;lt;&amp;gt;&lt;br /&gt;
This may cause SPF alignment to fail when your DMARC policy is set to quarantine or reject. Newer&lt;br /&gt;
Zimbra versions should default this setting to False, but older installs may be using a value of True&lt;br /&gt;
&lt;br /&gt;
Zimbra Web Client Personas&lt;br /&gt;
If you have mailbox setup of user@domain1.com, with an alias of user@domain2.com. 2. From the&lt;br /&gt;
Zimbra Web Client, create a Persona for user@domain2.com. 3. When a message is sent with the&lt;br /&gt;
user@domain2.com Persona selected, the following occurs:&lt;br /&gt;
     The Return Path email address is set to: user@domain2.com&lt;br /&gt;
     The From header email address is set to: user@domain1.com&lt;br /&gt;
     If your DMARC policy is set to quarantine or reject, this will cause the SPF alignment test to&lt;br /&gt;
      fail.&lt;br /&gt;
To Change This Behavior, set the zimbraSmtpRestrictEnvelopeFrom value to False for either an&lt;br /&gt;
individual user, a domain, or a Class Of Service. For example, to change this setting for an individual&lt;br /&gt;
user, as the Zimbra user (su - zimbra):&lt;br /&gt;
     zmprov ma user@domain1.com zimbraSmtpRestrictEnvelopeFrom FALSE&lt;br /&gt;
Further reading : https://blog.zimbra.com/2022/04/email-security-webinar-about-dmarc/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                                    11&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>