A member signs up and never gets the welcome email. A renewal receipt lands in spam and the member assumes the charge was fraud. The problem is almost always the same: WordPress is trying to send mail directly from your web server, and modern mailbox providers no longer trust that path.
The fix is something most site owners can handle without a developer. This guide covers why email fails on Paid Memberships Pro (PMPro) membership sites and the specific tools that solve the problem.
Table of contents
- Testing and Troubleshooting
- How Your Site Sends Email
- Configure an SMTP Plugin
- SMTP vs. an Email Marketing Service
- Use a Third Party for Transactional Email
- Authentication: SPF, DKIM, and DMARC
- Consider Better Hosting
- Hosting Built for Membership Sites
- Testing After Setup
- Get Support From Our Team
- Frequently Asked Questions
Testing and Troubleshooting
Before you change anything, confirm what you are actually seeing. A missing email might be a delivery problem, but it might also be a PMPro setting, a spam filter on a single mailbox, or a notification that is firing but going to a different address than you expect.
Run through this quick triage first:
- Check the recipient’s spam folder: Member confirmation emails and PMPro admin notifications often end up filtered. If the message is there, you have a deliverability problem, not a sending problem.
- Send a test from Email Templates settings: In the WordPress admin, go to Memberships > Settings > Email Templates. Most templates have a “Send a Test Email” button. Send one to yourself at an address on a different domain than your site, ideally Gmail or Outlook.
Related: Email Template Documentation
- Check the PMPro Email Log: PMPro logs every transactional email it sends. If you do not see the email in the log, the issue is upstream of delivery. The message never reached the mail handoff at all. If you do see it logged, your site sent it and the problem is between your server and the recipient’s mailbox.
- Try a different recipient address: If the email reaches a Gmail address but not the customer’s corporate mailbox, the problem is the destination filter, not your site.
If the message never logs, look at the PMPro settings that control which emails fire and to whom. For example, the admin notification toggle on each template. If the message logs but never arrives, keep reading.
How Your Site Sends Email
By default, WordPress sends email using the wp_mail() function, which on most hosts hands the message off to the server’s built-in PHP mail() command. The message leaves your server directly, signed by your server, from an address on your domain.
That path worked fine years ago. Today, mailbox providers like Gmail, Outlook, Yahoo, and Apple Mail have tightened their rules to the point that unauthenticated server mail gets quietly flagged as spam, throttled, or dropped outright. There is no bounce in many cases. The message just disappears.
The fix is to stop sending directly from your web server. Instead, you route outbound mail through an authenticated service that has built sending reputation, signs your messages on your behalf, and reports back on delivery. There are two common ways to do this:
- Install an SMTP plugin in WordPress that connects to an existing mailbox or transactional service.
- Connect WordPress to a dedicated transactional email provider that handles authentication, signing, and deliverability for you.
Both approaches accomplish the same thing: your message leaves a reputable, authenticated sender, and it arrives in the inbox.
A note on scope: this guide covers transactional email, meaning the one-to-one messages PMPro sends automatically: confirmations, password resets, renewal receipts, and admin notifications. For marketing email to your list, you want something different. We will cover that distinction below.
Configure an SMTP Plugin
An SMTP plugin replaces the default PHP mail() handoff with an authenticated SMTP connection. You install the plugin, point it at your mailbox or transactional service, paste in your credentials, and your site sends mail through that account instead of through the server.
We recommend two SMTP plugins for membership sites:
- FluentSMTP — free, actively maintained, supports a long list of providers including Gmail, Microsoft 365, Amazon SES, Mailgun, Postmark, SendGrid, SparkPost, and Brevo. Includes a built-in send log and test tools.
- WP Mail SMTP — also actively maintained, with a similar provider list and a paid tier for advanced features like a send log on the free version and white-glove setup.
Either plugin will solve the problem. Pick the one you find easier to configure for your provider.
A Note on Microsoft 365 and OAuth
If you use Microsoft 365 for your business email, the simple “paste in a username and password” SMTP setup no longer works for most accounts. Microsoft is phasing out basic authentication for SMTP, which means you need to authenticate with OAuth instead.
OAuth is the same standard you use when you click “Sign in with Google” or “Sign in with Microsoft” on a third-party site. Instead of giving the plugin your password, you log in to Microsoft directly and grant the plugin permission to send mail from your account. Microsoft holds the password. The plugin holds a revocable token.
FluentSMTP supports OAuth connections for both Microsoft 365 and Google Workspace. The setup involves creating an application registration on the provider side and pasting a client ID and secret into the plugin. The plugin’s own documentation walks through the current steps, which change often enough that it is worth following the source rather than a third-party tutorial.
SMTP vs. an Email Marketing Service
A common point of confusion: an SMTP plugin is not a replacement for your email marketing tool, and your email marketing tool is not a good fit for the everyday messages PMPro sends.
Here is the line:
- SMTP is for transactional, lower-volume email. Account confirmations. Password resets. Renewal receipts. Admin notifications. One message per event, sent to one recipient. SMTP services and most mailbox-backed sending paths have daily and hourly limits that work fine for this volume.
- An email marketing service (EMS) like Mailchimp, Kit, Brevo, or MailerLite is for bulk, broadcast email. Newsletters. Member announcements. Drip campaigns. Sending the same message to thousands of recipients at once.
If you try to send marketing campaigns through an SMTP plugin, you will hit rate limits and your messages will get throttled or blocked. If you try to send transactional email through your EMS, the experience is clunky and the deliverability profile is often worse for one-off messages.
For a membership site, you generally want both: an SMTP setup for the transactional flow, and a dedicated EMS for newsletters and broadcast campaigns. PMPro has direct integrations for the popular email marketing services and can sync members to lists by level automatically.
Use a Third Party for Transactional Email
If you do not already have an authenticated mailbox you can hand off to, the cheapest reliable path is a dedicated transactional email provider. These services are built for exactly this use case: high deliverability, fast handoff, detailed logs, and pricing measured per email rather than per user.
The most affordable combination we recommend is Zoho Mail + ZeptoMail:
- Zoho Mail gives you a real mailbox at your domain for about $1 per month, per mailbox. This is the address members will see in the “From” line.
- ZeptoMail is Zoho’s dedicated transactional service. Pricing is prepaid in credits, roughly $2.50 per 10,000 emails at current rates. There is no monthly minimum.
The combination handles authentication for you, gives you a professional sending address, and runs around $1 to $4 per month for a typical small-to-medium membership site. Verify the current ZeptoMail pricing on their site before you commit. They have adjusted rates in the past.
Other reputable options, in roughly increasing price order:
- Amazon SES — extremely cheap per message, but the configuration is bare-bones and you handle authentication yourself.
- Postmark — premium reputation for transactional mail, simple setup, higher per-message cost.
- Mailgun — strong API, well-known to developers, mid-tier pricing.
Any of these will work. The right choice is the one whose pricing model and setup process you find easiest to live with.
Authentication: SPF, DKIM, and DMARC
Whichever sending path you choose, you also need to authenticate your domain. SPF, DKIM, and DMARC are the three DNS records that tell receiving mailbox providers, “Yes, this sender is allowed to send mail on behalf of my domain.” Without them, even a well-configured SMTP or transactional provider will see reduced deliverability.
The single most common mistake on membership sites: two SPF records on the same domain. DNS allows only one SPF record per domain. If you have one for Google Workspace and a second one for your transactional provider, you need to merge them into a single record that lists both. Two records will silently fail SPF authentication for both.
We have a separate, full walkthrough of how to set these records up correctly.
Consider Better Hosting
Sometimes the underlying problem is not your SMTP setup at all. It is the host.
Budget shared hosts often share outbound mail servers across thousands of customers. If a single neighbor on that server gets blacklisted, your messages suffer. Some hosts cap the number of outbound emails per hour at a level that breaks during normal membership site activity, like a launch day or a renewal run. Others have outdated PHP mail() configurations that produce malformed headers, which mailbox providers reject outright.
If you have done the SMTP work and you are still seeing problems, the host is the next place to look. Move to a host that is built for WordPress and that supports modern PHP versions, real SPF/DKIM configurability, and a reasonable outbound mail policy.
Hosting Built for Membership Sites
If you would rather not piece together a hosting stack and a transactional email provider, PMPro Max handles both in a single managed environment built for membership sites. Sites on our hosting send through pmpromailer.com, our authenticated transactional service, with SPF and DKIM pre-configured. You do not need a separate SMTP plugin, a separate transactional provider, or DNS work to start sending reliably.
The hosting platform also includes the WordPress and PHP stack, daily backups, staging, and direct access to our team for membership-specific support.
PMPro Max—Built for Membership Sites
Everything in its right place. The best membership platform on our official hosting setup, all managed by us for $99/mo [compare pricing]. Hosting includes a Max license, unlimited technical support, Do It For Me development requests, access to our AI Skills library, and free migration.
Testing After Setup
Once you have an SMTP plugin or transactional service in place, do not assume it is working. Test it the way our support team does:
- Send a test email to an address on a different domain: Do not test from
you@yourdomain.comtoyou@yourdomain.com. Mail between addresses on the same domain often bypasses the external sending path entirely. Use a personal Gmail or Outlook address so you can see how a real outside recipient receives your messages. - Use the Email Templates “Send a Test Email” button: In Memberships > Settings > Email Templates, send a test from one of the live templates. This exercises the same path PMPro uses for real member emails.
- Run a test checkout: Create a free or low-priced level for testing, and run a complete checkout with a real email address. This generates the full chain of emails: checkout confirmation to the member, admin notification to you, and any post-checkout messages your Add Ons trigger. Confirm each one arrives.
- Check the PMPro Email Log: Every transactional email is logged. If a test does not show up there, the message never left WordPress. If it shows up there but does not arrive, the issue is between your sending service and the recipient.
- Check the headers on a delivered message: Open the test email in Gmail and click “Show original.” Look for SPF: PASS, DKIM: PASS, and DMARC: PASS at the top. If any of those fail, your authentication is not fully set up yet.
If all five checks pass, your transactional email is solid. Re-run this short test any time you change hosts, change DNS, or switch mail providers.
Get Support From Our Team
Email deliverability is one of the most common reasons membership site owners open a support ticket with us, and it is one of the issues where a second pair of eyes on a real site speeds things up considerably. If you have worked through this guide and are still seeing missing emails, your Premium Membership includes priority access to our support team. We can look at your Email Log, your DNS records, and your sending configuration together and pinpoint where messages are getting lost.
Frequently Asked Questions
Most of the time it is because your site is sending mail directly from the web server, without DKIM or SPF authentication. Mailbox providers flag unauthenticated mail as spam by default. Route mail through an SMTP plugin or a transactional service and set up SPF/DKIM for your domain.
No. Pick one. An SMTP plugin connects your site to an external sending account. A transactional service is the sending account. The plugin needs something to connect to; if you do not already have an authenticated mailbox or service, a dedicated transactional provider is the cleanest option.
Yes. Sites on PMPro Hosting send through pmpromailer.com with authentication already configured. You do not need a separate SMTP plugin or DNS setup to get reliable delivery.
Yes, and it works well for low-volume sites. Use FluentSMTP or WP Mail SMTP with an OAuth connection. Watch the daily sending limits on the free tiers if your site sends more than a few hundred messages per day.
The PMPro Email Log, under Memberships > Email Log in the WordPress admin. Every transactional email PMPro generates is recorded there, with status and recipient.
Get Support From Our Team of Experts
Have a question about how to use this feature? Our Support Page outlines three ways to get support.
Our Max plans include hands-on help customizing your membership site and implementing new features. Upgrade to PMPro Max now »

