{"id":2500,"date":"2026-04-09T13:17:07","date_gmt":"2026-04-09T13:17:07","guid":{"rendered":"https:\/\/smtprelay.monster\/blog\/?p=2500"},"modified":"2026-04-09T13:17:08","modified_gmt":"2026-04-09T13:17:08","slug":"email-deliverability-how-to-verify-dkim-with-port25-and-mail-tester","status":"publish","type":"post","link":"https:\/\/smtprelay.monster\/blog\/email-deliverability-how-to-verify-dkim-with-port25-and-mail-tester\/","title":{"rendered":"Email Deliverability: How to Verify DKIM with Port25 and Mail-Tester"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<p>You have configured SPF, signed your messages with DKIM, and set up DMARC. So, why are your emails still going to the spam folder?<\/p>\n\n\n\n<p>The gap between &#8220;theory&#8221; (having records) and &#8220;reality&#8221; (landing in the inbox) is often invisible to the naked eye. You cannot guess how a receiving server sees your email; you have to <em>verify<\/em> it using diagnostic tools.<\/p>\n\n\n\n<p>In this post, we are going to look at two of the most reliable free tools for this\u2014<strong>Port25<\/strong> and <strong>Mail-Tester<\/strong>\u2014and explain why <strong>Reverse DNS (rDNS)<\/strong> is the silent gatekeeper of the modern inbox.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The &#8220;Spam Folder&#8221; Diagnosis: Using Mail-Tester<\/h2>\n\n\n\n<p>If you want a quick, visual &#8220;score&#8221; for your email health, <strong>Mail-Tester.com<\/strong> is the industry standard. It acts like a normal spam filter but gives you a report card.<\/p>\n\n\n\n<p><strong>How to use it :<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <a href=\"https:\/\/www.mail-tester.com\">Mail-Tester.com<\/a>.<\/li>\n\n\n\n<li>You will see a unique, randomized email address (e.g., <code>test-abc123@mail-tester.com<\/code>).<\/li>\n\n\n\n<li>Send your email campaign or transactional message <strong>exactly as a real user would receive it<\/strong> to that address.<\/li>\n\n\n\n<li>Wait 10 seconds and refresh the page.<\/li>\n<\/ol>\n\n\n\n<p><strong>What you learn:<\/strong><br>The tool gives you a score out of 10. It breaks down exactly why points were deducted. This is where you will catch missing DKIM signatures, broken SPF syntax, or &#8220;spammy&#8221; words in your content. If your DKIM fails here, it is broken\u2014period .<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Technical Deep Dive: Port25 (The &#8220;Auth&#8221; Verifier)<\/h2>\n\n\n\n<p>While Mail-Tester is great for content, <strong>Port25<\/strong> is the gold standard for <em>authentication<\/em> verification. It is run by a major email infrastructure company and is trusted by postmasters worldwide.<\/p>\n\n\n\n<p>Unlike Mail-Tester, you don&#8217;t visit a website to see the results. You communicate via email.<\/p>\n\n\n\n<p><strong>How to use Port25 :<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Compose a new email.<\/li>\n\n\n\n<li>Address it to: <strong><code>check-auth@verifier.port25.com<\/code><\/strong><\/li>\n\n\n\n<li>Send the email from the exact server and domain you are troubleshooting.<\/li>\n<\/ol>\n\n\n\n<p><strong>The result:<\/strong><br>Within a minute, you will receive an automated email back. Look for the &#8220;Summary of Results&#8221; section. You are looking for this exact output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>==========================================================\nSummary of Results\n==========================================================\nSPF check:          pass\nDKIM check:         pass\nSender-ID check:    pass\nSpamAssassin check: ham<\/code><\/pre>\n\n\n\n<p>If you see <code>DKIM check: pass<\/code>, your cryptography is working. If you see <code>fail<\/code>, your DNS records are mismatched, or your mail server isn&#8217;t signing the mail properly .<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The &#8220;First Impression&#8221;: Why Reverse DNS (rDNS) Matters<\/h2>\n\n\n\n<p>You can pass DKIM and SPF perfectly, but if your rDNS fails, major providers like Gmail and Outlook will still treat you with suspicion.<\/p>\n\n\n\n<p><strong>What is it?<\/strong><br>Forward DNS turns a name (google.com) into an IP (172.217.1.46). <strong>Reverse DNS<\/strong> turns that IP back into a name. That name is stored in a <strong>PTR record<\/strong> .<\/p>\n\n\n\n<p><strong>Why is it critical for delivery?<\/strong><br>Receiving servers do a &#8220;trust check&#8221; when you connect to them via SMTP (Port 25). They look at your IP address, ask &#8220;What is the name of this IP?&#8221;, and then ask &#8220;Does that name match the sending domain?&#8221; .<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>FCrDNS (Forward-Confirmed Reverse DNS):<\/strong> This is the gold standard. Your IP resolves to <code>mail.yourdomain.com<\/code>, and <code>mail.yourdomain.com<\/code> resolves back to that same IP. Spammers cannot fake this because they don&#8217;t control your DNS .<\/li>\n\n\n\n<li><strong>The Spam Folder:<\/strong> If your IP has no PTR record, or if the PTR points to <code>dynamic-ip-123.isp.com<\/code> (a generic residential IP pattern), Gmail will likely block you or throw you into spam immediately .<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Pro Tip:<\/strong> You cannot set your own rDNS\/PTR records in a web interface like Cloudflare. You must ask your <strong>hosting provider<\/strong> (DigitalOcean, AWS, OVH, etc.) to set the PTR record for your IP address to match your sending domain .<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">The Perfect Handshake<\/h2>\n\n\n\n<p>For an email to land in the primary inbox, three things must align:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>The Envelope (rDNS\/PTR):<\/strong> The IP address says, &#8220;My name is mail.company.com.&#8221;<\/li>\n\n\n\n<li><strong>The Signature (DKIM):<\/strong> The email contains a cryptographic signature linked to &#8220;company.com.&#8221;<\/li>\n\n\n\n<li><strong>The Permission (SPF):<\/strong> The IP is listed as an authorized sender for &#8220;company.com.&#8221;<\/li>\n<\/ol>\n\n\n\n<p><strong>Your Action Plan:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Today:<\/strong> Send an email to <code>check-auth@verifier.port25.com<\/code>. If DKIM fails, fix your DNS.<\/li>\n\n\n\n<li><strong>This Week:<\/strong> Call your hosting provider and ask, <em>&#8220;Is my PTR record set to my sending domain, and does it have FCrDNS?&#8221;<\/em><\/li>\n<\/ul>\n\n\n\n<p>Stop guessing why your deliverability is low. Use the bots to tell you exactly what is broken.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You have configured SPF, signed your messages with DKIM, and set up DMARC. So, why are your emails still going to the spam folder? The gap between &#8220;theory&#8221; (having records) and &#8220;reality&#8221; (landing in the inbox) is often invisible to the naked eye. You cannot guess how a receiving server sees your email; you have &#8230; <a title=\"Email Deliverability: How to Verify DKIM with Port25 and Mail-Tester\" class=\"read-more\" href=\"https:\/\/smtprelay.monster\/blog\/email-deliverability-how-to-verify-dkim-with-port25-and-mail-tester\/\" aria-label=\"Read more about Email Deliverability: How to Verify DKIM with Port25 and Mail-Tester\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2500","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/smtprelay.monster\/blog\/wp-json\/wp\/v2\/posts\/2500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smtprelay.monster\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smtprelay.monster\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smtprelay.monster\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/smtprelay.monster\/blog\/wp-json\/wp\/v2\/comments?post=2500"}],"version-history":[{"count":1,"href":"https:\/\/smtprelay.monster\/blog\/wp-json\/wp\/v2\/posts\/2500\/revisions"}],"predecessor-version":[{"id":2501,"href":"https:\/\/smtprelay.monster\/blog\/wp-json\/wp\/v2\/posts\/2500\/revisions\/2501"}],"wp:attachment":[{"href":"https:\/\/smtprelay.monster\/blog\/wp-json\/wp\/v2\/media?parent=2500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smtprelay.monster\/blog\/wp-json\/wp\/v2\/categories?post=2500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smtprelay.monster\/blog\/wp-json\/wp\/v2\/tags?post=2500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}