Skip to content
WP Cloud
WP Cloud
    • For Hosts
    • For Agencies
    • For Registrars
    • For Native Hosting
    • Performance
    • Security
    • Real-Time Automated Failover
    • Vertical Scaling and Bursting
    • WordPress Management
    • PanelAlpha Integration: White-Label WordPress Control Panel for Hosts
    • EasyEngine Panel Integration: Visual WordPress Management for WP Cloud
    • FAQs
    • WP Cloud API
    • Partner Portal
    • Documentation
    • New Partner Guide
    • Pressable
    • Convesio
    • Porkbun
    • PanelAlpha
    • Ivapix
    • UNC Greensboro
    • Impressive Hosting
    • Blog
    • Performance Benchmarks
  • Connect With Us
  • Login ↗
Start Here ↗
  • Solutions

    • For Hosts
    • For Agencies
    • For Registrars
    • For Native Hosting
    • Featured Partners

    Features

    • Performance
    • Security
    • Real-Time Automated Failover
    • Vertical Scaling and Bursting
    • WordPress Management

    Integrations

    • PanelAlpha Integration
    • Easy Engine Panel Integration

    Resources

    • FAQs
    • WP Cloud API
    • Partner Portal
    • Documentation
    • New Partner Guide
  • Case Studies
    • PressableA case study about how WP Cloud supports Pressable to power millions of page views daily.
    • Convesio
    • Porkbun
    • PanelAlpha
    • Ivapix
    • UNC Greensboro
    • Newspack
    • Inverse Paradox
  • Insights
    • Podcast
    • BlogWP Cloud blog page with latest news and updates about the platform.
    • Performance Benchmarks
  • Connect With Us
  • Login ↗
Start Here ↗

Browse

    • WP Cloud platform overview
    • Onboard and launch with WP Cloud
    • WP Cloud Partner Portal
    • Get support from WP Cloud
    • WP Cloud glossary
    • Manage and secure API keys
    • Client SSH
    • WP Cloud API quick start
    • Webhooks
    • Run bulk tasks across sites
      • Manage site domains and aliases
      • Domain verification records
      • TLS certificates
      • Manage custom TLS certificates
      • Cloudflare and WP Cloud
    • Clone a site
    • Configure resources, site type, and billing with site meta
    • Delete a site
    • Persistent data
    • Staging sites
    • Migrate a site to WP Cloud
      • SSH and SFTP access models
      • Client SSH
      • User SSH and SFTP access
      • Database credentials
      • phpMyAdmin
      • ABSPATH
      • Default wp-config.php
      • Site constants
      • Configure redirects and headers with custom-redirects.php
      • Akismet and Jetpack
      • Blocked and unsupported plugins
      • PHP lifecycle and supported versions
      • Symlinks and managed software
      • WordPress versions
      • Install Composer and WP-CLI packages
      • Manage platform software with WP-CLI
      • Useful WP-CLI commands
    • Transactional email
    • WordPress multisite
    • Cron scheduling
    • Decoupled and headless WordPress
    • Repair Yoast indexables
      • Page Cache
      • Edge Cache
      • Object Cache
      • Image transformation
      • Offload image sub-sizes
    • Configure lightweight 404s for static files
      • DDoS protection
      • Defensive Mode
      • Rate limiting
      • Network and web application firewalls
      • Bot protection
      • Password protection
      • HTTP and security headers
      • PHP filesystem access permissions
      • Scan a site for malware
    • Backups overview
    • Create an on-demand backup
    • Restore a backup
    • Jetpack backups
      • Error logs
      • Web server logs
    • Metrics
    • Application performance monitoring
    • Automated failover
    • IP ranges
    • Origin and edge servers
    • Server specifications and settings
    • EasyEngine integration
    • PanelAlpha integration
      • White labelling and co-marketing WP Cloud
      • WP Cloud logos
      • Terms of Service & Compliance
      • Prohibited content
      • Copyright infringement and takedown notifications
    • WP Cloud billing
    • WP Cloud for agencies and site networks
    • WP Cloud partner support options
    • Troubleshoot Page and Edge Cache
    • Troubleshoot HTTP 429 and 599 errors
    • WP Cloud HTTP status codes
    • Troubleshoot site performance
    • Cache slow database queries
    • Troubleshoot duplicate core files, wp-config.php, and wp-admin 403 errors
    • Troubleshoot email delivery
    • Troubleshoot PDF thumbnail generation
    • Troubleshoot TLS certificate provisioning
Documentation/Troubleshooting/Troubleshoot email delivery

Troubleshoot email delivery

LAST UPDATED

3 months ago

    A transactional email sent by WordPress can be accepted by the application but rejected later by the WP Cloud mail service, the receiving provider, or the recipient’s filtering. Begin by finding out whether the problem affects every message, one plugin, one sender address, one recipient, or one receiving provider.

    Common causes include a platform abuse block, a From address that does not match the primary domain, a plugin-specific configuration problem, the hourly sending limit, or filtering by the receiving mailbox provider.

    Confirm WP Cloud email DNS records

    The site’s primary domain must have the WP Cloud SPF and DKIM records for the platform mail service to authenticate and deliver messages properly. Confirm that the current records match the Transactional email DNS configuration before investigating plugin or recipient behavior. Review the DMARC record as well when the domain uses a DMARC policy.

    Check for a platform email block

    Use the Email Block endpoint to determine whether the site’s domain is blocked from the platform-provided mailer. Review the current expiration and reason before acting on an older sasl_block webhook.

    If the domain is blocked, stop the abusive or compromised sending behavior and correct its email authentication. Transactional email covers SPF, DKIM, DMARC, the default service limit, and external email providers.

    Check the sender and affected messages

    • Confirm that WordPress and every sending plugin use an address on the site’s primary domain, such as orders@example.com, rather than a Gmail or other unrelated address.
    • Determine whether failures come from one plugin. Review that plugin’s mail settings and documentation; WooCommerce maintains an email FAQ and troubleshooting guide.
    • Compare several recipients. A failure limited to one address, university, company, or mailbox provider often points to recipient-side filtering.
    • Ask the recipient to check spam or quarantine folders.
    • Confirm that the site has not exceeded the WP Cloud limit of 200 messages per hour when it uses the default mailer.

    Record what WordPress sends

    An email logging plugin can show whether WordPress created the expected message, sender, recipient, and headers. Examples include Email Log and WP Mail Logging.

    A WordPress log entry does not prove that the receiving mailbox accepted the message; it confirms what the application attempted to send. Compare it with the email-block result and the receiving provider’s response when available.

    Use an email service provider when needed

    Use an SMTP plugin with a dedicated email service provider when the site sends bulk mail, sends more than standard transactional messages, approaches or exceeds WP Cloud’s hourly limit, needs more than four sender addresses, sends automated sequences, or needs higher daily volume, delivery analytics, bounce handling, and reputation controls. A dedicated provider is also appropriate when a custom setup does not work reliably with PHP mail() or delivery failures continue after the sender and DNS records are corrected.

    See Use an email service provider for provider and SMTP plugin options.

    Recovery depends on the cause: correct the sender or DNS records, stop abusive sending, wait and resend after a temporary limit, fix the responsible plugin, or move the site to an appropriate external delivery provider.

    Previous Troubleshoot duplicate core files, wp-config.php, and wp-admin 403 errors
    Next Troubleshoot PDF thumbnail generation

    Related Guides

    • Troubleshoot Page and Edge Cache

      Diagnose Page Cache and Edge Cache misses using response headers, cookies, cache controls, bypass code,…

      5 Min.

      READ

    • Troubleshoot HTTP 429 and 599 errors

      Partner support teams can distinguish visitor-facing HTTP 429 responses from WP Cloud HTTP 599 records,…

      6 Min.

      READ

    • WP Cloud HTTP status codes

      Understand HTTP status codes reserved for WP Cloud suspension, maintenance, security, and rate-limiting responses.

      1 Min.

      READ

    On this page

      Contact support

      Contact us with Support issues and questions related to WP Cloud, the WP Cloud Atomic API, API-key IP allow list changes, Station, and more.

      Check the FAQs

      Have questions? Please visit our FAQ to learn more.

      An Automattic venture

      Work With Us

      Press

      Privacy Policy

      © 2021-2026 Automattic Inc.

      Notifications