{"id":586,"date":"2025-10-03T19:43:52","date_gmt":"2025-10-03T17:43:52","guid":{"rendered":"https:\/\/www.systemdeveloper.nl\/tech\/?p=586"},"modified":"2025-10-08T23:09:44","modified_gmt":"2025-10-08T21:09:44","slug":"mastering-email-deliverability","status":"publish","type":"post","link":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/","title":{"rendered":"Mastering Email Deliverability"},"content":{"rendered":"<h1 class=\"wp-block-heading\" id=\"directadmin-a-complete-checklist\">DirectAdmin: A Complete Checklist<\/h1>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Email is notoriously tricky. Even if you think everything is perfect, one wrong DNS record somewhere in the chain can break delivery. At SystemDeveloper.nl, we make sure our email setup scores a full <strong>100% on <a href=\"https:\/\/internet.nl\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Internet.nl<\/a><\/strong> &ndash; but we still get asked why messages end up in spam.<br>In this article, we&rsquo;ll walk through the <strong>complete checklist<\/strong> of what can go wrong, how to test it, and how to fix it &mdash; with examples from a DirectAdmin server setup.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"1-test-first-the-easy-way\">1. Test First: The Easy Way<\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Before touching DNS or server configs, run these tests on your domain:<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Internet.nl Mail Test<\/strong><br>&#128073; <a href=\"https:\/\/internet.nl\/mail\/systemdeveloper.nl\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">https:\/\/internet.nl\/mail\/systemdeveloper.nl<\/a><br>Use this test to check your own domain for  multiple standards:<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>\n<strong>DNSSEC<\/strong> (<em>Domain Name System Security Extensions<\/em>) &rarr; ensures your DNS records can&rsquo;t be tampered with during lookup.<\/li>\n\n\n\n<li>\n<strong>SPF<\/strong> (<em>Sender Policy Framework<\/em>) &rarr; tells the world which mail servers are allowed to send on behalf of your domain.<\/li>\n\n\n\n<li>\n<strong>DKIM<\/strong> (<em>DomainKeys Identified Mail<\/em>) &rarr; cryptographic signature in your emails that proves the message wasn&rsquo;t altered in transit.<\/li>\n\n\n\n<li>\n<strong>DMARC<\/strong> (<em>Domain-based Message Authentication, Reporting &amp; Conformance<\/em>) &rarr; policy layer on top of SPF\/DKIM that tells receivers what to do with unauthenticated mail (reject\/quarantine).<\/li>\n\n\n\n<li>\n<strong>STARTTLS<\/strong> &rarr; encryption upgrade during SMTP, securing mail in transit.<\/li>\n\n\n\n<li>\n<strong>DANE\/TLSA<\/strong> (<em>DNS-based Authentication of Named Entities<\/em>) &rarr; publishes your mail server&rsquo;s TLS fingerprint in DNSSEC, preventing forged certificates.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Mail-tester.com<\/strong><br>&#128073; <a href=\"https:\/\/www.mail-tester.com\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">https:\/\/www.mail-tester.com\/<\/a><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Generate a temporary email address, send a test message, then check the score.<\/li>\n\n\n\n<li>Shows whether SPF, DKIM, DMARC are passing, if your domain\/IP is blacklisted, and how likely your mail is to end up in spam.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">&#9989; Together, these tools give you a clear overview of where problems might lie before diving into technical debugging.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"2-dns-records-checklist\">2. DNS &amp; Records Checklist<\/h2>\n\n\n<h3 class=\"wp-block-heading\" id=\"spf-sender-policy-framework\">SPF (Sender Policy Framework)<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>What it is:<\/strong><br>SPF is a DNS TXT record that defines <em>which servers<\/em> are allowed to send email for your domain. When Gmail, Outlook, or another mail provider receives an email from <code>@yourdomain.com<\/code>, they check the SPF record to see if the sending server&rsquo;s IP is on the &ldquo;allowed list.&rdquo;<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>If it matches &rarr; &#9989; the mail is considered more trustworthy.<\/li>\n\n\n\n<li>If it doesn&rsquo;t match &rarr; &#10060; it may be rejected or marked as spam.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Why it matters:<\/strong><br>Without a proper SPF record, spammers can easily forge your domain in the &ldquo;From:&rdquo; header. An SPF policy protects your reputation and helps mail reach the inbox.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>How to check your SPF record:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>dig txt yourdomain.com +short<\/textarea>\n<\/div><code>dig txt yourdomain.com +short\n<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Example output:<\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>\"v=spf1 a mx ip4:123.123.123.123 include:spf.provider.com -all\"<\/textarea>\n<\/div><code>\"v=spf1 a mx ip4:123.123.123.123 include:spf.provider.com -all\"\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>How to fix \/ add in DirectAdmin:<\/strong><\/p>\n\n\n<ol class=\"wp-block-list wp-block-list\">\n<li>Log in to DirectAdmin &rarr; <em>DNS Management<\/em>.<\/li>\n\n\n\n<li>Add a new TXT Record for your domain:<\/li>\n<\/ol>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>yourdomain.com. 3600 TXT \"v=spf1 a mx ip4:123.123.123.123 include:spf.provider.com -all\"<\/textarea>\n<\/div><code>yourdomain.com. 3600 TXT \"v=spf1 a mx ip4:123.123.123.123 include:spf.provider.com -all\"\n<\/code><\/pre>\n\n\n<ol start=\"3\" class=\"wp-block-list wp-block-list\">\n<li>Save and apply changes.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Best practices for SPF:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>&#9989; Use <code>-all<\/code> (hard fail) or <code>~all<\/code> (soft fail). Avoid <code>+all<\/code> &rarr; that allows <em>every<\/em> server to send as you.<\/li>\n\n\n\n<li>&#9989; Keep your includes clean &mdash; every <code>include:<\/code> counts as a DNS lookup.<\/li>\n\n\n\n<li>&#9888;&#65039; Maximum of <strong>10 DNS lookups<\/strong> in total. More than that &rarr; SPF check automatically fails.<\/li>\n\n\n\n<li>&#9989; Update SPF whenever you add\/remove a mail server or service (e.g., G Suite, Microsoft 365, newsletter provider).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"dkim-domainkeys-identified-mail\">DKIM (DomainKeys Identified Mail)<\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>What it is:<\/strong><br>DKIM adds a <strong>digital signature<\/strong> to your outgoing emails. This signature is verified with a public key published in DNS. If the signature matches, the recipient knows the email really came from your server and hasn&rsquo;t been modified in transit.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Why it matters:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Proves authenticity of your messages.<\/li>\n\n\n\n<li>Prevents tampering\/spoofing.<\/li>\n\n\n\n<li>Needed for DMARC to pass.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>How to check your DKIM record:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>dig txt x._domainkey.yourdomain.com +short<\/textarea>\n<\/div><code>dig txt x._domainkey.yourdomain.com +short\n<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix in DirectAdmin:<\/strong><\/p>\n\n\n<ol class=\"wp-block-list wp-block-list\">\n<li>Go to <em>Email Accounts<\/em> &rarr; <em>DKIM Support<\/em> &rarr; Enable.<\/li>\n\n\n\n<li>This creates a TXT record like: <code>default._domainkey TXT \"v=DKIM1; k=rsa; p=MIIBIjANBgkqh...\"<\/code>\n<\/li>\n\n\n\n<li>Make sure the TXT record is published correctly and matches the private key Exim uses.<\/li>\n<\/ol>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Best practice:<\/strong> Always use at least a 2048-bit DKIM key for security.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"dmarc-domain-based-message-authentication-reporting-conformance\">DMARC (Domain-based Message Authentication, Reporting &amp; Conformance)<\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>What it is:<\/strong><br>DMARC is a <strong>policy layer<\/strong> on top of SPF and DKIM. It tells mail receivers what to do if a message <strong>fails authentication<\/strong>.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Why it matters:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Stops attackers from forging your domain.<\/li>\n\n\n\n<li>Lets you monitor who is sending mail for your domain (via reports).<\/li>\n\n\n\n<li>Big providers like Gmail, Microsoft, Yahoo! require DMARC for reliable delivery.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>How to check your DMARC record:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>dig txt _dmarc.yourdomain.com +short<\/textarea>\n<\/div><code>dig txt _dmarc.yourdomain.com +short\n<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix in DirectAdmin:<\/strong><\/p>\n\n\n<ol class=\"wp-block-list\">\n<li>Add a TXT record for <code>_dmarc<\/code>: <code>_dmarc TXT \"v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@yourdomain.com\"<\/code><ul class=\"wp-block-list wp-block-list wp-block-list\">\n<li>\n<code>p=<\/code> defines the policy: <code>none<\/code> (monitor only), <code>quarantine<\/code>, or <code>reject<\/code>.<\/li>\n\n\n\n<li>\n<code>rua=<\/code> is the address where aggregate reports are sent.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Best practice:<\/strong> Start with <code>p=none<\/code> to collect reports, then move to <code>quarantine<\/code> or <code>reject<\/code> once you&rsquo;re confident your SPF\/DKIM are solid.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"dnssec-domain-name-system-security-extensions\">DNSSEC (Domain Name System Security Extensions)<\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>What it is:<\/strong><br>DNSSEC secures DNS lookups by signing your DNS records cryptographically. This prevents attackers from spoofing records (like pointing your MX to a fake server).<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Why it matters:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Essential trust anchor for DANE\/TLSA.<\/li>\n\n\n\n<li>Required for full Internet.nl 100% score.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>How to check:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Use <a href=\"https:\/\/internet.nl\/test-mail\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Internet.nl Mail Test<\/a>.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix:<\/strong><br>Enable DNSSEC at your <strong>domain registrar<\/strong>. DirectAdmin itself does not provide DNSSEC signing.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"tls-dane-dns-based-authentication-of-named-entities\">TLS &amp; DANE (DNS-based Authentication of Named Entities)<\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>What it is:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>\n<strong>TLS (Transport Layer Security):<\/strong> Encrypts mail in transit (via STARTTLS).<\/li>\n\n\n\n<li>\n<strong>DANE\/TLSA:<\/strong> Publishes the TLS certificate fingerprint in DNSSEC, so receivers can confirm they&rsquo;re talking to the real server, not one with a forged certificate.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Why it matters:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Without STARTTLS, emails travel unencrypted over the internet.<\/li>\n\n\n\n<li>With DANE\/TLSA, even compromised certificate authorities can&rsquo;t fake your mail server.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>How to check TLS:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>openssl s_client -connect mail.yourdomain.com:25 -starttls smtp<\/textarea>\n<\/div><code>openssl s_client -connect mail.yourdomain.com:25 -starttls smtp\n<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix in DirectAdmin:<\/strong><\/p>\n\n\n<ol class=\"wp-block-list wp-block-list\">\n<li>Enable Let&rsquo;s Encrypt SSL for <code>mail.yourdomain.com<\/code>.<\/li>\n\n\n\n<li>Confirm Exim\/Dovecot are using the certificate.<\/li>\n\n\n\n<li>If your DNS host supports it, publish a TLSA record for your mail server.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"3-reverse-dns-helo\">3. Reverse DNS &amp; HELO<\/h2>\n\n\n<h3 class=\"wp-block-heading\" id=\"reverse-dns-rdns-ptr-record\">Reverse DNS (rDNS \/ PTR record)<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>What it is:<\/strong><br>Reverse DNS (PTR record) maps your server&rsquo;s <strong>IP address<\/strong> back to a hostname (e.g., <code>123.123.123.123 &rarr; mail.yourdomain.com<\/code>).<br>Mail providers use this as a trust check: if the IP you&rsquo;re sending from has no PTR, or it points to something unrelated, your email may be flagged as spam.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Why it matters:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Many providers (Gmail, Microsoft, Yahoo!) outright reject email if the sending IP has no valid PTR.<\/li>\n\n\n\n<li>PTR should match the mail server&rsquo;s HELO\/EHLO name and its forward DNS (A\/AAAA).<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>How to check rDNS:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>dig -x 123.123.123.123 +short<\/textarea>\n<\/div><code>dig -x 123.123.123.123 +short\n<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Expected output:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>mail.yourdomain.com.<\/textarea>\n<\/div><code>mail.yourdomain.com.\n<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>PTR records can <strong>only<\/strong> be set by your hosting\/datacenter provider (the one who owns the IP range).<\/li>\n\n\n\n<li>In most cases, you open a ticket or set it in their control panel.<\/li>\n\n\n\n<li>This cannot be configured from DirectAdmin.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h3 class=\"wp-block-heading\" id=\"heloehlo\">HELO\/EHLO<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>What it is:<\/strong><br>When your mail server connects to another mail server, it introduces itself with a <strong>HELO\/EHLO string<\/strong> (like a &ldquo;hello, this is who I am&rdquo;).<br>This name must match your server&rsquo;s FQDN (fully qualified domain name) and ideally match the PTR record.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Why it matters:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>If HELO is generic (like <code>localhost.localdomain<\/code>), your mail looks suspicious.<\/li>\n\n\n\n<li>A mismatch between HELO, PTR, and A record often causes delivery issues.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>How to check HELO\/EHLO:<\/strong><br>Send a test connection:<\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>telnet mail.yourdomain.com 25<\/textarea>\n<\/div><code>telnet mail.yourdomain.com 25\n<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">(or <code>openssl s_client -connect mail.yourdomain.com:25 -starttls smtp<\/code>)<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Example output:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>220 mail.yourdomain.com ESMTP Exim 4.96<\/textarea>\n<\/div><code>220 mail.yourdomain.com ESMTP Exim 4.96\n<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix in DirectAdmin (Exim):<\/strong><\/p>\n\n\n<ol class=\"wp-block-list wp-block-list\">\n<li>Edit <code>\/etc\/exim.conf<\/code> or better: use <strong>Exim custom templates<\/strong> in DirectAdmin.<\/li>\n\n\n\n<li>Set: <code>primary_hostname = mail.yourdomain.com<\/code>\n<\/li>\n\n\n\n<li>Restart Exim: <code>systemctl restart exim<\/code>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">&#9989; <strong>Golden Rule:<\/strong><\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">HELO: <code>mail.yourdomain.com<\/code> <code>mail.yourdomain.com<\/code>.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Forward DNS: <code>mail.yourdomain.com &rarr; 123.123.123.123<\/code><\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Reverse DNS: <code>123.123.123.123 &rarr; mail.yourdomain.com<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"4-blacklists-rbls-e28093-realtime-blackhole-lists\">4. Blacklists (RBLs &ndash; Realtime Blackhole Lists)<\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>What it is:<\/strong><br>Blacklists (RBLs or DNSBLs) are databases used by mail providers to block known sources of spam.<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>If your <strong>mail server IP<\/strong> is on one of these lists, many providers will reject or junk your messages.<\/li>\n\n\n\n<li>Listings usually happen because of spam, hacked accounts, open relays, or poor server reputation.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Why it matters:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Even with perfect SPF, DKIM, and DMARC, your email won&rsquo;t deliver if the sending IP has a bad reputation.<\/li>\n\n\n\n<li>Some lists are extremely strict (Spamhaus), others are more advisory.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>How to check if you are blacklisted:<\/strong><\/p>\n\n\n<ol class=\"wp-block-list wp-block-list\">\n<li>\n<strong>Spamhaus Blocklist Removal Center<\/strong><br>&#128073; <a>https:\/\/check.spamhaus.org\/<\/a>\n<\/li>\n<\/ol>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Enter your IP address.<\/li>\n\n\n\n<li>If you&rsquo;re listed, Spamhaus will tell you which list and why.<\/li>\n<\/ul>\n\n\n<ol start=\"2\" class=\"wp-block-list wp-block-list\">\n<li>\n<strong>MXToolbox Blacklist Check<\/strong><br>&#128073; <a>https:\/\/mxtoolbox.com\/blacklists.aspx<\/a>\n<\/li>\n<\/ol>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Checks your IP against dozens of public RBLs.<\/li>\n\n\n\n<li>Helpful overview for a quick scan.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Command-line check (for admins):<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>host <reversed-ip>.zen.spamhaus.org<\/reversed-ip><\/textarea>\n<\/div><code>host &lt;reversed-ip&gt;.zen.spamhaus.org\n<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Example:<\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>host 123.123.123.123.zen.spamhaus.org<\/textarea>\n<\/div><code>host 123.123.123.123.zen.spamhaus.org\n<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">If it returns an IP, you&rsquo;re listed. If it says <em>NXDOMAIN<\/em>, you&rsquo;re clean.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix if listed:<\/strong><\/p>\n\n\n<ol class=\"wp-block-list\">\n<li>\n<strong>Investigate first<\/strong>:<ul class=\"wp-block-list wp-block-list wp-block-list\">\n<li>Check Exim logs (<code>\/var\/log\/exim\/mainlog<\/code>) for unusual outbound volume.<\/li>\n\n\n\n<li>Look for compromised accounts sending spam.<\/li>\n\n\n\n<li>Scan for malware or hacked CMS sites (WordPress, Joomla, etc.).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\n<strong>Remove the cause<\/strong>:<ul class=\"wp-block-list wp-block-list\">\n<li>Change user passwords.<\/li>\n\n\n\n<li>Secure scripts or disable compromised accounts.<\/li>\n\n\n\n<li>Patch outdated websites.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\n<strong>Delisting<\/strong>:<ul class=\"wp-block-list wp-block-list\">\n<li>Most RBLs have an automatic removal process once the issue is fixed.<\/li>\n\n\n\n<li>Spamhaus provides a removal request form after you solve the root cause.<\/li>\n\n\n\n<li>Smaller lists may require a manual request or simply expire over time.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">&#9989; <strong>Best practices to avoid blacklisting:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Rate-limit outbound mail (prevent hacked sites from blasting 10,000 mails).<\/li>\n\n\n\n<li>Enforce SMTP AUTH on DirectAdmin\/Exim.<\/li>\n\n\n\n<li>Monitor outbound logs daily.<\/li>\n\n\n\n<li>Use proper rDNS, SPF, DKIM, and DMARC to boost reputation.<\/li>\n\n\n\n<li>Keep web apps up-to-date (most spam originates from hacked CMS installs).<\/li>\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\" id=\"5-common-pitfalls-in-directadmin-environments\">5. Common Pitfalls in DirectAdmin Environments<\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Even if your DNS and mailserver are configured correctly, small misconfigurations can still break deliverability. Here are the most common issues we see in DirectAdmin setups:<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h3 class=\"wp-block-heading\" id=\"wrong-nameservers\">Wrong nameservers<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Problem:<\/strong><br>A domain is hosted on your server, but the registrar is still pointing to external nameservers (e.g., the reseller&rsquo;s or another host&rsquo;s). That means the DNS records you fix in DirectAdmin are never actually used.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Impact:<\/strong><br>SPF\/DKIM\/DMARC or MX changes won&rsquo;t apply, leading to mail failures.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Check with <a>intodns.com<\/a> or <code>dig ns yourdomain.com +trace<\/code>.<\/li>\n\n\n\n<li>Make sure the domain is really using your DirectAdmin nameservers.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h3 class=\"wp-block-heading\" id=\"spf-includes-gone-wild\">SPF includes gone wild<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Problem:<\/strong><br>Resellers love to keep stacking <code>include:<\/code> in SPF records (e.g. <code>include:spf1 &rarr; include:spf2 &rarr; include:spf3...<\/code>).<br>This easily exceeds the <strong>10 DNS lookup limit<\/strong>, causing SPF to fail silently.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Impact:<\/strong><br>Mail fails SPF even though &ldquo;everything looks correct.&rdquo;<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Keep SPF flat: only include what you <em>actually<\/em> use.<\/li>\n\n\n\n<li>Remove old IPs and unused services.<\/li>\n\n\n\n<li>Test at <a>dmarcian.com\/spf-survey<\/a>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h3 class=\"wp-block-heading\" id=\"missing-caa-records\">Missing CAA records<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Problem:<\/strong><br>CAA (Certification Authority Authorization) DNS records define <em>which CAs are allowed<\/em> to issue SSL\/TLS certificates for your domain.<br>Without CAA, any CA could (in theory) issue a cert. Some stricter policies or tools (like Internet.nl) require them.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Impact:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Can block Let&rsquo;s Encrypt issuance if a conflicting CAA exists.<\/li>\n\n\n\n<li>Lowers your domain&rsquo;s security score.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix in DirectAdmin:<\/strong><br>Add a simple CAA record:<\/p>\n\n\n<pre class=\"wp-block-code\"><div class=\"copy-to-clipboard\">\n<span>Copied!<\/span><button class=\"click-to-copy-button\" title=\"Copy to clipboard\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"24\" height=\"24\" fill=\"none\">\n  <path d=\"M12.9975 10.7499L11.7475 10.7499C10.6429 10.7499 9.74747 11.6453 9.74747 12.7499L9.74747 21.2499C9.74747 22.3544 10.6429 23.2499 11.7475 23.2499L20.2475 23.2499C21.352 23.2499 22.2475 22.3544 22.2475 21.2499L22.2475 12.7499C22.2475 11.6453 21.352 10.7499 20.2475 10.7499L18.9975 10.7499Z\"><\/path>\n  <path d=\"M17.9975 12.2499L13.9975 12.2499C13.4452 12.2499 12.9975 11.8022 12.9975 11.2499L12.9975 9.74988C12.9975 9.19759 13.4452 8.74988 13.9975 8.74988L17.9975 8.74988C18.5498 8.74988 18.9975 9.19759 18.9975 9.74988L18.9975 11.2499C18.9975 11.8022 18.5498 12.2499 17.9975 12.2499Z\"><\/path>\n  <path d=\"M13.7475 16.2499L18.2475 16.2499\"><\/path>\n  <path d=\"M13.7475 19.2499L18.2475 19.2499\"><\/path>\n<\/svg><\/button><textarea>yourdomain.com. 3600 IN CAA 0 issue \"letsencrypt.org\"<\/textarea>\n<\/div><code>yourdomain.com. 3600 IN CAA 0 issue \"letsencrypt.org\"\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h3 class=\"wp-block-heading\" id=\"shared-ip-conflicts\">Shared IP conflicts<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Problem:<\/strong><br>On a DirectAdmin server with many resellers, multiple hostnames may share the same IP. If rDNS points to another reseller&rsquo;s hostname, your mail will fail rDNS\/HELO checks.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Impact:<\/strong><br>Your mail may be rejected because the PTR doesn&rsquo;t match your hostname.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Fix:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Assign a <strong>dedicated IP<\/strong> for the main mailserver (mail.yourdomain.com).<\/li>\n\n\n\n<li>Or ensure rDNS is set to match your hostname, not a reseller&rsquo;s.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">&#9989; <strong>Summary for DirectAdmin admins:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Always confirm the domain <em>actually<\/em> uses your DNS before debugging.<\/li>\n\n\n\n<li>Keep SPF clean and under 10 lookups.<\/li>\n\n\n\n<li>Add CAA for Let&rsquo;s Encrypt stability.<\/li>\n\n\n\n<li>Avoid shared-IP rDNS issues by using a dedicated mail IP.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"6-final-thoughts\">6. Final Thoughts<\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">If you&rsquo;ve gone through this checklist, your mail setup should score near-perfect on Internet.nl and Mail-tester. At <strong>SystemDeveloper.nl<\/strong>, both our <strong>web<\/strong> and <strong>mail<\/strong> score <strong>100%<\/strong>. <br>But this can change every day. Todays best SSL ciphers may be insecure next year. One forgotten DNS change can cause problems days later. The key is consistency:<\/p>\n\n\n<ul class=\"wp-block-list wp-block-list\">\n<li>Keep DNS tidy<\/li>\n\n\n\n<li>Use valid TLS certificates<\/li>\n\n\n\n<li>Monitor your logs (<code>\/var\/log\/exim\/mainlog<\/code>)<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">&#128161; If you&rsquo;re a reseller or hoster: run this checklist yourself first, before escalating to your upstream provider. It will save everyone a lot of time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>DirectAdmin: A Complete Checklist Email is notoriously tricky. Even if you think everything is perfect, one wrong DNS record somewhere in the chain can break delivery. At SystemDeveloper.nl, we make sure our email setup scores a full 100% on Internet.nl &ndash; but we still get asked why messages end up in spam.In this article, we&rsquo;ll &hellip;<\/p>\n","protected":false},"author":1,"featured_media":591,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56,16],"tags":[],"class_list":["post-586","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-faq","category-tech-innovation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mastering Email Deliverability - SystemDeveloper.NL<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mastering Email Deliverability - SystemDeveloper.NL\" \/>\n<meta property=\"og:description\" content=\"DirectAdmin: A Complete Checklist Email is notoriously tricky. Even if you think everything is perfect, one wrong DNS record somewhere in the chain can break delivery. At SystemDeveloper.nl, we make sure our email setup scores a full 100% on Internet.nl &ndash; but we still get asked why messages end up in spam.In this article, we&rsquo;ll &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/\" \/>\n<meta property=\"og:site_name\" content=\"SystemDeveloper.NL\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/quan.tora.16\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-03T17:43:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-08T21:09:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/10\/dd9db355-0f73-4692-9e2b-9006a1ca3094.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1023\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"John Timmer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Timmer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/\"},\"author\":{\"name\":\"John Timmer\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/person\\\/5760c2ed5300c56d8ef01dfb00a9763b\"},\"headline\":\"Mastering Email Deliverability\",\"datePublished\":\"2025-10-03T17:43:52+00:00\",\"dateModified\":\"2025-10-08T21:09:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/\"},\"wordCount\":1859,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/dd9db355-0f73-4692-9e2b-9006a1ca3094.jpg\",\"articleSection\":[\"F.A.Q.\",\"Tech Innovation\"],\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/\",\"name\":\"Mastering Email Deliverability - SystemDeveloper.NL\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/dd9db355-0f73-4692-9e2b-9006a1ca3094.jpg\",\"datePublished\":\"2025-10-03T17:43:52+00:00\",\"dateModified\":\"2025-10-08T21:09:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/dd9db355-0f73-4692-9e2b-9006a1ca3094.jpg\",\"contentUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/dd9db355-0f73-4692-9e2b-9006a1ca3094.jpg\",\"width\":1023,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/mastering-email-deliverability\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mastering Email Deliverability\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#website\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/\",\"name\":\"www.systemdeveloper.nl\",\"description\":\"NextGen IT\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#organization\",\"name\":\"www.systemdeveloper.nl\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/qt-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/qt-logo.png\",\"width\":1346,\"height\":1230,\"caption\":\"www.systemdeveloper.nl\"},\"image\":{\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/quan.tora.16\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/#\\\/schema\\\/person\\\/5760c2ed5300c56d8ef01dfb00a9763b\",\"name\":\"John Timmer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg\",\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg\",\"caption\":\"John Timmer\"},\"sameAs\":[\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\"],\"url\":\"https:\\\/\\\/www.systemdeveloper.nl\\\/tech\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mastering Email Deliverability - SystemDeveloper.NL","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/","og_locale":"en_US","og_type":"article","og_title":"Mastering Email Deliverability - SystemDeveloper.NL","og_description":"DirectAdmin: A Complete Checklist Email is notoriously tricky. Even if you think everything is perfect, one wrong DNS record somewhere in the chain can break delivery. At SystemDeveloper.nl, we make sure our email setup scores a full 100% on Internet.nl &ndash; but we still get asked why messages end up in spam.In this article, we&rsquo;ll &hellip;","og_url":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/","og_site_name":"SystemDeveloper.NL","article_publisher":"https:\/\/www.facebook.com\/quan.tora.16","article_published_time":"2025-10-03T17:43:52+00:00","article_modified_time":"2025-10-08T21:09:44+00:00","og_image":[{"width":1023,"height":768,"url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/10\/dd9db355-0f73-4692-9e2b-9006a1ca3094.jpg","type":"image\/jpeg"}],"author":"John Timmer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Timmer","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/#article","isPartOf":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/"},"author":{"name":"John Timmer","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/person\/5760c2ed5300c56d8ef01dfb00a9763b"},"headline":"Mastering Email Deliverability","datePublished":"2025-10-03T17:43:52+00:00","dateModified":"2025-10-08T21:09:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/"},"wordCount":1859,"commentCount":0,"publisher":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#organization"},"image":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/10\/dd9db355-0f73-4692-9e2b-9006a1ca3094.jpg","articleSection":["F.A.Q.","Tech Innovation"],"inLanguage":"en","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/","url":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/","name":"Mastering Email Deliverability - SystemDeveloper.NL","isPartOf":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/#primaryimage"},"image":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/10\/dd9db355-0f73-4692-9e2b-9006a1ca3094.jpg","datePublished":"2025-10-03T17:43:52+00:00","dateModified":"2025-10-08T21:09:44+00:00","breadcrumb":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/"]}]},{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/#primaryimage","url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/10\/dd9db355-0f73-4692-9e2b-9006a1ca3094.jpg","contentUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2025\/10\/dd9db355-0f73-4692-9e2b-9006a1ca3094.jpg","width":1023,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/www.systemdeveloper.nl\/tech\/mastering-email-deliverability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.systemdeveloper.nl\/tech\/"},{"@type":"ListItem","position":2,"name":"Mastering Email Deliverability"}]},{"@type":"WebSite","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#website","url":"https:\/\/www.systemdeveloper.nl\/tech\/","name":"www.systemdeveloper.nl","description":"NextGen IT","publisher":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.systemdeveloper.nl\/tech\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#organization","name":"www.systemdeveloper.nl","url":"https:\/\/www.systemdeveloper.nl\/tech\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/logo\/image\/","url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/qt-logo.png","contentUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/qt-logo.png","width":1346,"height":1230,"caption":"www.systemdeveloper.nl"},"image":{"@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/quan.tora.16"]},{"@type":"Person","@id":"https:\/\/www.systemdeveloper.nl\/tech\/#\/schema\/person\/5760c2ed5300c56d8ef01dfb00a9763b","name":"John Timmer","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg","url":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg","contentUrl":"https:\/\/www.systemdeveloper.nl\/tech\/wp-content\/uploads\/2024\/11\/cropped-D6E27035-6864-4270-8D72-0D8C0C59F370-96x96.jpeg","caption":"John Timmer"},"sameAs":["https:\/\/www.systemdeveloper.nl\/tech"],"url":"https:\/\/www.systemdeveloper.nl\/tech\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts\/586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/comments?post=586"}],"version-history":[{"count":1,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts\/586\/revisions"}],"predecessor-version":[{"id":599,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/posts\/586\/revisions\/599"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/media\/591"}],"wp:attachment":[{"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/media?parent=586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/categories?post=586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.systemdeveloper.nl\/tech\/wp-json\/wp\/v2\/tags?post=586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}