Overview

We created this guide to provide everything non-profits need to know about email compliance and deliverability.  It seems that ensuring your email is compliant and is delivered is becoming more and more complex with standards, content, and compliance.

  1.  Message
    1. Subject line
      1. Needs to be checked against SPAM filters
      2. Short (Test)
      3. Can include emojis (Test)
      4. Should be variable (Test)
    2. From – this is the person who the message is from
      1. https://eisbox.net/blog/2009/07/23/mail-from-vs-from-vs-sender-exploiting-spf/
      2. https://help.mailgun.com/hc/en-us/articles/202236494-What-is-the-difference-between-the-From-and-Sender-
      3. Should be variable (Test)
    3. Sender – this is the sending account
      1. Should be the same domain as the from address
      2. Should have a display name (Test)
      3. No role account
      4. No do-not-reply
      5. On behalf of
    4. Return-path
      1. Where bounces should be sent, or use VERP and should be the same domain as the sender/from
      2. https://en.wikipedia.org/wiki/Variable_envelope_return_path
      3. https://en.wikipedia.org/wiki/Bounce_address
    5. Recipient
      1. Valid syntax
      2. Includes display name
    6. Content
      1. Compliant HTML
      2. Preview
        1. Short (Test)
        2. Can include emojis (Test)
      3. Images
        1. No more than 3 (Test)
        2. They need to come from the same domain as the sender/from
        3. They need to be secure – https://
        4. Should be replaced with html/css if possible
      4. Links
        1. No more than 3 (Test)
        2. They need to come from the same domain as the sender/from
        3. They need to be secure – https:/
        4. They need to be friendly – https://truegivers.com/ncoa vs https://truegivers.com/r/0/1/1422C21D-E01A-4CA6-9FDD-B33E8B33F671
      5. Copy
        1. Needs to be checked against spam filters
        2. Should be at 7th or 8th grade reading level (Flesch-Kincaid) - Grammerly - Hemmingway app
    7. Other headers
      1. Opt-out
        1. Needs a clear opt-out link
        2. Needs a compliance footer with mailing address
      2. List-unsubscribe - https://en.wikipedia.org/wiki/Feedback_loop_(email)
  2. Sending domain
    1. Must implement SPF
    2. Must implement DKIM
    3. Must implement DMARC
    4. Must implement https://
    5. Must have Reverse DNS (PTR) record
    6. Must have a receiver (MX) record
    7. Must have a published opt-out policy
  3. Sending Server
    1. This is what is used in the sender example above - [email protected]
    2. Needs to be in the same domain as from
    3. Needs to have reverse DNS (PTR) record in same domain as sender/from
    4. Need to be part of the SPF record – IP Address or A record
    5. Needs to have a receiver (MX) record
    6. IP Address needs to be warmed up
    7. Verify email address syntax
    8. IP cannot be on any RBL - https://mxtoolbox.com/SuperTool.aspx?action=blacklist%3a192.111.218.8&run=toolpage
    9. Domain cannot be on any RBL - https://mxtoolbox.com/SuperTool.aspx?action=blacklist%3atruencoa.com&run=toolpage
    10. Receiving Server MX record check fail – HARD BOUNCE
      1. https://sendgrid.com/blog/email-bounce-management/
    11. Receiving Server Connect fail – HARD BOUNCE
    12. Compliance check
      1. Country compliance check – SOFT BOUNCE
      2. Opt-out check – SOFT BOUNCE
    13. Usage check
      1. Sending domain check – SOFT BOUNCE
      2. Sending IP check – SOFT BOUNCE
      3. Sending host check – SOFT BOUNCE
      4. Receiving host check – SOFT BOUNCE
      5. Recipient domain check – SOFT BOUNCE
      6. Recipient email address check – SOFT BOUNCE
      7. Total frequency check – SOFT BOUNCE
      8. Duplicate message check – SOFT BOUNCE
  4. Receiving Server - http://www.samlogic.net/articles/smtp-commands-reference.htm
    1. EHLO
      1. Sending server IP address on RBL – SOFT BOUNCE
      2. Sending domain on RBL – SOFT BOUNCE
      3. No PTR - SOFT BOUNCE
      4. No MX - SOFT BOUNCE (rare)
      5. IP Internal BL - SOFT BOUNCE
      6. Record IP DMARC
      7. SPF check - SOFT BOUNCE
    2. MAIL FROM
      1. Domain on RBL - SOFT BOUNCE
      2. Sender on BL - SOFT BOUNCE
      3. Role email - SOFT BOUNCE (rare)
      4. DKIM check - SOFT BOUNCE
    3. RCPT TO
      1. Role email - SOFT BOUNCE
      2. Recipient does not exist - SOFT BOUNCE
      3. Mailbox full - SOFT BOUNCE
      4. Manual verification - SOFT BOUNCE (rare)
    4. DATA
      1. Subject SPAM test - SOFT BOUNCE
      2. Content SPAM test - SOFT BOUNCE
      3. Link test - SOFT BOUNCE
      4. Image test - SOFT BOUNCE
  5. Recipient’s Email Client
    1. Sender/from BL check
  6. Inbox Monitoring
    1. Deliverability check based on ISP