Email blocked or black listed from WordPress

If the recipient is not receiving emails sent from your WordPress site (like form submissions), it’s likely due to one of the following:


๐Ÿ” Common Reasons

  1. WordPress is using wp_mail() via PHP’s mail(): This is often unreliable and can be blocked or flagged as spam.
  2. Your domain or IP is blacklisted or flagged: Some receiving mail servers reject or silently drop mail from blacklisted IPs/domains.
  3. Missing SPF, DKIM, or DMARC records: These DNS records help authenticate your email; missing or incorrect ones can lead to delivery issues.
  4. Recipient mail server (like Gmail or Outlook) is rejecting or filtering the messages as spam.
  5. Server configuration issues or form plugin misconfiguration.

โœ… Solutions

1. Use an SMTP Plugin (Most Reliable)

Instead of the default PHP mail() function, use SMTP. This sends email through a real mail server, like Gmail, SendGrid, or your domainโ€™s SMTP.

๐Ÿ“Œ Recommended Plugins:
  • WP Mail SMTP by WPForms (most popular)
  • Easy WP SMTP
  • FluentSMTP
๐Ÿ”ง Setup Steps (WP Mail SMTP as example):
  1. Install WP Mail SMTP plugin in WordPress.
  2. Choose a mailer (e.g., Gmail, SendGrid, Mailgun, SMTP).
  3. Configure the SMTP settings (you’ll need:
    • SMTP host (e.g., smtp.yourdomain.com)
    • Port (usually 587 or 465)
    • Encryption type (TLS/SSL)
    • SMTP Username and Password)
  4. Test Email in the plugin to verify delivery.

2. Check Domain DNS Records

Ensure your DNS settings include these:

Record Purpose Tools to check
SPF Authorizes sender IPs MXToolbox SPF
DKIM Verifies message authenticity DKIM Checker
DMARC Tells recipient how to handle failures DMARC Checker

If your domain doesnโ€™t have these set, messages may be flagged or blocked.

3. Use a Transactional Email Provider

Instead of sending emails from your own server, use a specialized service:

  • SendGrid
  • Mailgun
  • Amazon SES
  • Postmark

These services are designed for reliable email delivery. Most offer free tiers.

Youโ€™ll configure them via SMTP or API with a plugin like WP Mail SMTP.

4. Check Blacklist Status

Use tools like MXToolbox Blacklist Check to see if your domain or IP is blacklisted.

If blacklisted:

  • Follow the removal process (most sites like Spamhaus have a form).
  • Use a different SMTP provider to bypass your serverโ€™s IP.

5. Check Spam/Junk Folder & Whitelist

Ask the recipient to:

  • Check their spam/junk folder.
  • Add your sending email (like noreply@yourdomain.com) to their whitelist or contacts.

๐Ÿ” Temporary Manual Workaround (Not Ideal)

If critical and urgent:

  • Modify the form plugin to log submissions to a database or send them to an alternate address.
  • Use a contact form plugin that supports webhook/API (e.g., Contact Form 7 with a webhook extension) and integrate with services like Slack or Google Sheets.

Summary

Fix Description Reliability
SMTP plugin Bypasses PHP mail and uses authenticated mail โœ…โœ…โœ…
Transactional email provider Sends via trusted IPs with high deliverability โœ…โœ…โœ…
SPF/DKIM/DMARC records Helps prevent emails from being flagged โœ…โœ…
Check blacklist Avoid getting blocked by providers โœ…โœ…
Manual logging/workaround Useful temporarily โœ…

Contact me if you need help on this topic