How to prevent being marked as spam

  • DNS black list check up
  • Spamhaus black list check:  https://www.spamhaus.org/query/ip/your ip
  • MXtoolbox black list check:  https://mxtoolbox.com/blacklists.aspx
  • Protect your email reputation and combat email spoofing by setting up a Sender Policy Framework (SPF) record.
  • For a more in-depth look at SPF syntax and mechanisms, see openspf.org.
  • DKIM is a process to validate sending domain names associated to email messages through cryptographic authentication. It achieves this by inserting a digital signature into the message header which is later verified by the receiving host to validate the authenticity of the sending domain.
  • SPF and DKIM are authentication protocols that are a requirement in any modern email marketing effort. Without SPF and DKIM authentication, your emails might be rejected because of the lack one or both of these authentication protocols.
  • Good place to check SPF record:
  • Set up DKIM key for Bluehost:  https://www.zoho.com.cn/campaigns/help/setup-spf-dkim.html#Bluehost
  • Bluehost default SPF record:
    v=spf1 a mx ptr include:bluehost.com ?all

    This actually result in an invalid SPF record with too many includes (bluehost.com is a nested include)  Note:  Bluehost turned out to be hopeless in dealing with SPF problems.  Their advice is to pay them additional money to move to a dedicated server.  We switched our mail server to G Suite.  We would have switched to Amazon Workmail but there was some DNS incompatibility problems that took too long to resolve with Bluehost support.

  • Examples for parameter all:“v=spf1 mx -all”
    Allow domain’s MXs to send mail for the domain, prohibit all others.“v=spf1 -all”
    The domain sends no mail at all.“v=spf1 +all”
    The domain allows all IP address on the internet to send mail. Though ‘valid’, this is not recommended.
  • +all,pass,Allow all mail
    -all,fail,”Only allow mail that matches one of the parameters (IPv4, MX, etc) in the record”
    ~all,softfail,Allow mail whether or not it matches the parameters in the record
    ?all,neutral,No policy statement