Port25’s Authentication and Spam Assassin Tool

When it comes to email authentication (SPF, DKIM, SenderID) it can be pretty confusing. We try our best to make the process easy, but we still get some support cases about setting up DNS records. As we have said before, using DKIM and SPF can go a long way with reputation and delivery. Most of our customers use DKIM and SPF in Postmark, which means we are helping people with delivery and helping the industry as a whole by supporting and adopting these standards.

When it comes to troubleshooting DKIM, SPF, DomainKeys and SenderID there are a number of tools out there. My favorite is Port25’s testing service. We’re huge fans of Port25. In addition to a great mail server, they also offer some of the best support I have ever had from a vendor. We’ve been using PowerMTA for about six years now, mainly due to their early stance and support of email authentication in their software.

So, back to the testing tool. There is a little known page on their site where they offer a special email address that you can send a test email to, which will then send back a report on your authentication results and SpamAssassin score. You can see the details on their site. Here is how it works:

  1. Send a test email to
    check-auth-jsmith=yourdomain.com@verifier.port25.com where jsmith=yourdomain.com is the address where you want the report sent (jsmith@yourdomain.com).
  2. Wait for the results to be sent to that address. That’s it!

What you get in return is something that looks like the report below. I sent this email from Postmark and received the report to my personal address. As you can see, there is a detailed report showing that all tests passed and SpamAssassin did not mark it as spam. You also get all sorts of nice information like the SPF and DKIM records it pulled and MX records. If you look at the SpamAssassin score you might notice that it is a negative result, which is fantastic. This is partly due to our listing with IADB.

So, if you ever need to do some geeky email testing, now you are armed with a nice tool. Big thanks to Port25 for making this available. Another nice tool for DNS lookups is mxtoolbox.com.

==========================================================
Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   pass
DKIM check:         pass
Sender-ID check:    pass
SpamAssassin check: ham
==========================================================
Details:
==========================================================
HELO hostname:  m1.mtasv.net
Source IP:      74.205.19.136
mail-from:      pm_bounces@pm.mtasv.net
----------------------------------------------------------
SPF check details:
----------------------------------------------------------
Result:         pass
ID(s) verified: smtp.mail=pm_bounces@pm.mtasv.net
DNS record(s):
   pm.mtasv.net. SPF (no records)
   pm.mtasv.net. 1800 IN TXT "v=spf1 include:spf.mtasv.net include:_spf.google.com ~all"
   spf.mtasv.net. SPF (no records)
   spf.mtasv.net. 3600 IN TXT "v=spf1 ip4:74.205.19.136/29 ip4:204.232.132.1 ip4:69.20.52.160/27 ~all"
----------------------------------------------------------
DomainKeys check details:
----------------------------------------------------------
Result:         pass
ID(s) verified: header.From=info@postmarkapp.com
DNS record(s):
   pm._domainkey.postmarkapp.com. 1800 IN TXT "k=rsa; p=MHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAKVO12rs2ofFYktu3zMjh50Ep28U1EbA7/AHVJO8FWG1ydUqF7eXmjbPyjYlZ9YNGIxuyTLaIv56+nssmoDnid2YA9AskDTloAqyPpapFdOyprT1xEcWdiO69SmmeHqbvwIDAQAB"
----------------------------------------------------------
DKIM check details:
----------------------------------------------------------
Result:         pass (matches From: info@postmarkapp.com)
ID(s) verified: header.i=info@postmarkapp.com
Canonicalized Headers:
   from:'0D''0A'
   to:"check-auth-cn=wildbit.com@verifier.port25.com"'20''0D''0A'
   date:Fri,'20'10'20'Jun'20'2011'20'12:52:23'20'-0400'0D''0A'
   subject:PowerMTA'20'Test'0D''0A'
   mime-version:1.0'0D''0A'
   content-type:text/plain;'20'charset=UTF-8'0D''0A'
   content-transfer-encoding:quoted-printable'0D''0A'
   message-id:<245236-MAIL693df81ac0de43ed915385fa7556ff8f@245236-mail>'0D''0A'
   dkim-signature:v=1;'20'a=rsa-sha1;'20'c=relaxed/relaxed;'20's=pm;'20'd=postmarkapp.com;'20'h=From:To:Date:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID;'20'i=info@postmarkapp.com;'20'bh=TaDIeSHprfVsHOsSuywR607TILo=;'20'b=
Canonicalized Body:
   Hi,'20'this'20'is'20'a'20'test'20'email'20'from'20'Postmark=2E=0D=0A=0D=0AChris'0D''0A'
DNS record(s):
   pm._domainkey.postmarkapp.com. 1800 IN TXT "k=rsa; p=MHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAKVO12rs2ofFYktu3zMjh50Ep28U1EbA7/AHVJO8FWG1ydUqF7eXmjbPyjYlZ9YNGIxuyTLaIv56+nssmoDnid2YA9AskDTloAqyPpapFdOyprT1xEcWdiO69SmmeHqbvwIDAQAB"
NOTE: DKIM checking has been performed based on the latest DKIM specs
(RFC 4871 or draft-ietf-dkim-base-10) and verification may fail for
older versions.  If you are using Port25's PowerMTA, you need to use
version 3.2r11 or later to get a compatible version of DKIM.
----------------------------------------------------------
Sender-ID check details:
----------------------------------------------------------
Result:         pass
ID(s) verified: header.From=info@postmarkapp.com
DNS record(s):
   postmarkapp.com. SPF (no records)
   postmarkapp.com. 1800 IN TXT "v=spf1 a mx include:spf.mtasv.net include:_spf.google.com ~all"
   postmarkapp.com. 1800 IN A 173.230.141.181
   postmarkapp.com. 1800 IN MX 10 postmarkapp.com.s9a1.psmtp.com.
   postmarkapp.com. 1800 IN MX 20 postmarkapp.com.s9a2.psmtp.com.
   postmarkapp.com. 1800 IN MX 30 postmarkapp.com.s9b1.psmtp.com.
   postmarkapp.com. 1800 IN MX 40 postmarkapp.com.s9b2.psmtp.com.
   postmarkapp.com. 1800 IN MX 50 aspmx.l.google.com.
   postmarkapp.com.s9a1.psmtp.com. 14400 IN A 74.125.148.10
   postmarkapp.com.s9a2.psmtp.com. 14400 IN A 74.125.148.11
   postmarkapp.com.s9b1.psmtp.com. 14400 IN A 74.125.148.13
   postmarkapp.com.s9b2.psmtp.com. 14400 IN A 74.125.148.14
   aspmx.l.google.com. 14 IN A 74.125.113.27
   spf.mtasv.net. SPF (no records)
   spf.mtasv.net. 3600 IN TXT "v=spf1 ip4:74.205.19.136/29 ip4:204.232.132.1 ip4:69.20.52.160/27 ~all"
----------------------------------------------------------
SpamAssassin check details:
----------------------------------------------------------
SpamAssassin v3.2.5 (2008-06-10)
Result:         ham  (-2.7 points, 5.0 required)
 pts rule name              description
---- ---------------------- --------------------------------------------------
-2.6 BAYES_00               BODY: Bayesian spam probability is 0 to 1%
                           [score: 0.0000]
-0.0 RCVD_IN_IADB_LISTED    RBL: Participates in the IADB system
                           [74.205.19.136 listed in iadb.isipp.com]
-0.1 RCVD_IN_IADB_SPF       RBL: IADB: Sender publishes SPF record
-0.0 RCVD_IN_IADB_SENDERID  RBL: IADB: Sender publishes Sender ID record