Search for keywords, like "PayPal", "Recurring Donations", and more.

Documentation / Core Features / Frequent Troubleshooting Issues / Troubleshooting Common Email Problems

Troubleshooting Common Email Problems

Occasionally your WordPress site might experience trouble sending emails reliably. This can happen for a wide variety of reasons, and narrowing down the problem can be difficult. This article will walk you through some basic steps to understand why your site is having trouble and what you can do about it.

Note: Emails in GiveWP are generally triggered by the donation being marked as complete, so before you go through the steps below, make sure that the problem is not that your donations are still marked as pending. Pending donations are most often a problem with webhooks.

Understanding how Email works in WordPress

In order to properly troubleshoot your email situation, you need first to understand how email works in WordPress generally.

How does WordPress send emails?

By default, WordPress uses PHP to send all mail from your website. This is a somewhat different means of communication than standard emails. This means that your server (your host) has to support PHP mail in order for your WordPress emails to be sent.

But where does it send the emails from?

When you install WordPress for the first time, you are asked to provide a name and email address for the first user of the website. This is your primary administrator account and the email you choose here will be used to send all administrative emails from your website. It’s best to choose an email address from your domain name, rather than a Gmail or Hotmail address.

It’s possible though, that you didn’t create the first user in your WordPress site — your host did. Often, web hosts provide a “one-click” method for installing WordPress on your server. These often create default names and emails for this first user; like “WordPress <wordpress@yourdomain.com>”.

Set an email address with your domain name in it as your WordPress Admin email rather than a Gmail or Hotmail address.

Testing your Email Configuration

Now that you understand how WordPress works with email in general, it’s time to dig into your specific environment a little and test whether WordPress can effectively send email out.

What is Your Administrative Email Address?

If you installed WordPress on your site yourself, then you chose your admin email at setup. Occasionally, hosts offer “one-click” WordPress installs and they use a generic email address, like wordpress@yourdomain.com as the primary admin email account. This isn’t optimal for reliably sending emails.

To change this, go to your site’s WordPress General Settings at “Settings > General” and update the field called “Email Address.”

Is WordPress Even Sending Emails Out?

The “WP Mailcatcher” plugin on wordpress.org

Next, determine if your site is able to send email at all. The easiest way to do that is with a plugin called “Mail Logging”.

Once installed and activated, that plugin adds a log of all mail sent by your site.

Install and activate that, and then you can confirm that the email is at least leaving your WordPress install. If an email is not showing up in the logs there (the logs only show messages sent going forward from when it’s installed) then the GiveWP support team can help to troubleshoot why the messages are not sending. If an email is showing up in the logs, it essentially means that the problem is “above” the GiveWP level, and one that can be solved using further troubleshooting in this document, or with your web host.

Another useful plugin for troubleshooting your email setup is Email Cop — this plugin effectively prevents emails from actually going out, but captures them and displays them in a list for you to view them. This is a great tool for testing what actual emails look like when they go out from your site.

Using Email Cop to Test your GiveWP Emails

The "Email Cop" plugin on wordpress.org.
The “Email Cop” plugin on wordpress.org.

If you are struggling with delivery of your emails from GiveWP (or any plugin that sends emails out), Email Cop is a great tool to confirm whether WordPress is even sending the emails at all.

Email Cop captures all emails that go out from your site, but prevents them from actually sending, and lists them so you can view the actual email. This is great for testing purposes and confirming that your application (WordPress) is working as expected.

Here’s a specific use-case for Email Cop: say you heard from a donor that they didn’t get their Donation Confirmation Email. Activate Email Cop, activate your Test Donation gateway and make a test donation.

Next go to “Emails” and you should see two emails in the list: the Admin Donation Notification email(addressed to you) and the Donation Confirmation Receipt email (addressed to the email you used to make the test donation).

If those two emails aren’t there, then GiveWP is having a hard time sending emails out. Use the “Check Email” plugin above to see if your site can send emails in general.

The free “Email Cop” plugin allows you to capture emails and preview them in your browser when testing your WordPress email capabilities.

Reasons Why Emails Might Not Be Sending Correctly

Now that you know a bit about how WordPress sends emails, and you know how to test whether emails are being sent correctly, what do you do if emails are not being sent at all?

Double-check your Admin Email Address

If you used Email Cop above and you saw two emails generated, that means that WordPress created those emails correctly and attempted to send them. If you then tried “Check Email” and you never get the test email,  that means WordPress is sending the emails correctly, but your server is preventing them from being sent.

Some hosts require that all email sent from the server are from your root level domain address. For example, if your site is greatcause.org and your Admin email address is greatcause@gmail.com, your server might refuse to send the emails that WordPress generates. This might explain the situation above.

Verify Your Email Address is Registered Correctly

Some hosts prevent email from sending if it is not properly registered in your account. For example, you might have an email address registered in your hosting account (or cPanel) called bobdunn@greatcause.org but your WordPress site is sending from info@greatcause.org which is not registered at all. Some hosts will prevent any mail from being sent out from your site unless it is registered properly.

Summary

So, with all that in mind, this is the best way to setup your email in your WordPress site:

  1. Your Admin email address uses your domain.
  2. That email address is registered in your hosting account.
  3. You’ve verified emails are sending out with either Email Cop or Check Email

If you’ve done all of that and you still have trouble, the next options are to remove WordPress and PHP from the email-sending business altogether.

For optimized email deliverability in WordPress, use either a transactional email service or an SMTP plugin.

Removing WordPress from the Email Process

Email deliverability in WordPress is such a frustrating experience that an entire industry has developed around solving the problem. The best way to ensure that emails get to where your WordPress site sends them is to remove PHP and WordPress from the equation altogether. There are two categories of ways to do that, each with advantages and drawbacks. The final section of this article will line out those options, and recommend some solutions.

Transactional Email Services

Transactional email services are specifically designed for sending things like donation receipts and password reset emails. There are different rules and laws for transactional emails than marketing emails, and a transactional email service takes advantage of that. Additionally, the advantage of transactional email services over SMTP is that there is no daily limit to the number of emails that can be sent.

There are a number of services in the transactional email space, and the two you should check out are WP Offload SES and SendWP.

the yellow and black WP Offload SES banner image

WP Offload SES is a bit more technical in terms of set-up, but the quick start guide in their documentation (which is also included in the plugin setup itself) take a lot of the guesswork out of configuring it. WP Offload SES has a free plugin and a premium version that adds things like email tracking and reports.

Think of WP Offload SES like a dashboard on top of the Amazon SES service, which is an ultra-cheap way of delivering emails (with a notoriously difficult-to-configure interface). The team behind the plugin takes away much of the difficulty in configuring that service.

the Blue Send WP banner that looks like a paper airplane

SendWP on the other hand is a premium service that does it all for you. You install the plugin, go through the process to sign up, and SendWP takes over sending emails from your WordPress site. There’s virtually no configuration for you, and it’s a powerful way to remove WordPress from the equation of email deliverability.

Sending Email from your WordPress Site via SMTP

The “Post SMTP” plugin on wordpress.org.

SMTP stands for Simple Mail Transfer Protocol, and is a web-standard for sending emails. It is not at all like PHP mail or wp_mail, in that it is much more secure and reliable.

To configure an SMTP service to send WP emails, use the Post SMTP plugin.

This is a great plugin because it provides a step-by-step walkthrough for configuring your email for SMTP.

The only drawback to SMTP and the reason a transactional email service might be a better fit is that some SMTP services limit the number of daily sends. Google’s Gmail SMTP service is limited to something like 2,000 sends in a rolling 24 hour period. This also highlights that services like Gmail and others can arbitrarily shut down an account if it gets flagged for sending spam, or for many other reasons.

SMTP is a better fit than just letting WordPress handle email, but not the right fit for even mid-sized organizations looking to send lots of email. One donation can generate many emails simultaneously (if you’re sending admin notifications to 3 email addresses, that’s 3 individual email sends, not counting the Donation Receipt email), so the requirements scale quickly when an organization gets lots of donations.

Last updated 7 months ago

Start Fundraising Better Today!

Get GiveWP Today
GiveWP Plans

Give Fundraising Newsletter

The Give Fundraising Newsletter will help you navigate the world of online fundraising like a pro. Each week we send out fundraising advice, Give LIVE announcements, and exclusive offers to our newsletter subscribers.