BuddyPress activation email notifications

[FIXED] BuddyPress Activation Email Not Sending?

Editorial Note: We may earn a commission when you visit links on our website.

Are your BuddyPress email notifications not sending?

A lot of BuddyPress users run into this issue. Sometimes, you’ll find that the password reset email is delivered, but the activation email isn’t.

We’ll show you the easy way to fix your BuddyPress notifications with SMTP. At the end of the article, we’ll also show you how to log and resend these emails.

Fix Your BuddyPress Emails Now

What Is the BuddyPress Activation Email?

The BuddyPress activation email is the email that’s sent when a new user first registers on your site. It contains a link that your new user needs to click to activate their account.

BuddyPress activation email

If this email isn’t delivered, your new users can’t complete the BuddyPress email verification process. That means they can’t log in and use their new account.

We’re going to show you how to send all BuddyPress emails through SMTP or a 3rd party email provider.

How to Fix BuddyPress Email Notifications

1. Install WP Mail SMTP

WP Mail SMTP is the best SMTP plugin for WordPress. It lets you send WordPress emails through a 3rd party email provider.

Using an email provider adds vital authentication headers to your emails. That’s extremely important because emails without these headers are often filed in the Junk Mail folder.

The basic steps in this tutorial will work with the free or Pro version of WP Mail SMTP. We recommend that you use the Pro license because it gives you some extra features, including:

We’ll show you how these features work later in the tutorial.

If you’re using the Pro version or above, you can download the latest copy of the plugin from the Downloads tab in your WP Mail SMTP account.

Download the WP Mail SMTP plugin

Go ahead and upload the plugin zip file to your WordPress site.

Install WP Mail SMTP

As soon as you activate the plugin, the Setup Wizard will open in your browser. Let’s work through the Setup Wizard next.

2. Choose an Email Provider

In this step, we’re going to decide which email provider you want to use to send WordPress emails.

WP Mail SMTP supports free and paid mailers for any size of BuddyPress community.

Select your SMTP mailer

Since you’ll want BuddyPress activation emails to arrive quickly, we strongly recommend that you choose a transactional email provider.

Transactional email providers are designed to handle high-volume sending, and they’re very good at delivering emails almost instantly. SendLayer, SMTP.com, and Brevo (formerly Sendinblue) are all great options.

If you’re just testing things out, SendLayer lets you start sending emails for free.

Other providers like Gmail or Other SMTP will likely work on a small site, but they aren’t designed to handle very high volume sending. So with Gmail SMTP, you’re more likely to run into issues as your community grows.

When you’ve chosen your WordPress email provider, click the link below to open up the corresponding doc. Following the steps in our doc will help you complete the signup process and get connected.

Mailers available in all versions Mailers in WP Mail SMTP Pro
SendLayer Amazon SES
SMTP.com Microsoft 365 / Outlook.com
Brevo Zoho Mail
Google Workspace / Gmail
Other SMTP

Need a hand?

Our Elite license includes White Glove Setup for SendLayer, SMTP.com, or Brevo.

If you want to set up multiple mailers, you can do so in the Additional Connections settings once you’ve finished the Setup Wizard. Then you can select a Backup Connection and configure Smart Routing.

3. Enable Email Logging

At the end of the WP Mail SMTP Setup Wizard, you’ll have the option to turn on 3 features:

  • The Detailed Email Logs setting will keep track of the subject, sender, recipient, and other header information. When this setting is turned on, Complete Email Reports are also automatically enabled.
  • Weekly Email Summaries will create a weekly report about the emails that have been sent.
  • Instant Email Alerts let you know if your site fails to send and email so you can fix the issue.

We recommend that you turn all of these on.

Enabling email logs and email alerts in the WP Mail SMTP Setup Wizard

After enabling email logging, click Save and Continue to got to the next step.

On this screen, you’ll be able to turn on some advanced email logging features.

Configuring email log settings in the WP Mail SMTP Setup Wizard

These include:

  • Store the content for all sent emails. Save email content in your site’s database. This enables you to resend emails.
  • Save file attachments sent from WordPress. Save email attachments in your site’s Uploads folder.
  • Track when an email is opened. See when recipients open your emails.
  • Track when a link in an email is clicked. See when recipients click the links in your emails.

We recommend you turn on all of these options as well, so you can get the most out of your email logs.

Once you complete the Setup Wizard, WP Mail SMTP will send an automatic test email so you know everything’s working.

Now you’ve completed the WP Mail SMTP BuddyPress setup, there’s 1 more thing to do.

We need to add a short code snippet to redirect your BuddyPress emails through your new email provider.

4. Add Code Snippet to Fix BuddyPress Emails

By default, WordPress sends password reset emails using the wp_mail() function. BuddyPress activation emails aren’t sent through wp_mail() by default, so that’s why so many people have issues with them.

So in this step, we’ll add a code snippet that’ll re-route all BuddyPress emails through WP Mail SMTP.

This code snippet will also make sure that all emails are sent as HTML emails, rather than in plaintext format. That lets you track opens and clicks.

First, you need to install and activate the WPCode plugin. This will let you easily add the code to send BuddyPress emails through wp_mail() without actually editing your site’s files directly.

The WPCode plugin

Next, go to Code Snippets » + Add Snippet in your WordPress dashboard. Then choose the Add Your Custom Code (New Snippet) option.

Adding a custom code snippet in WPCode

Enter a title in the field provided so you can identify this snippet, then set the Code Type dropdown to PHP Snippet.

Setting the Code Type to PHP Snippet in WPCode

Now paste in this code to enable SMTP in BuddyPress:

// Set BP to use wp_mail
add_filter( 'bp_email_use_wp_mail', '__return_true' );
// Set messages to HTML for BP sent emails.
add_filter( 'wp_mail_content_type', function( $default ) {
	if ( did_action( 'bp_send_email' ) ) {
		return 'text/html';
	return $default;
} );
// Use HTML template
	function( $content, $property, $transform, $bp_email ) {
		if ( ! did_action( 'bp_send_email' ) ) {
			return $content;
		return $bp_email->get_template( 'add-content' );

Once you’re done, make sure to click the Save Snippet button.

Saving a new snippet in WPCode

You should then see a success message.

Success message for a new WPCode snippet

Next, scroll down and make sure the Insertion Method is set to Auto-Insert and that the Location is set to Run Everywhere.

Setting a WPCode snippet to auto-insert and run everywhere

This will automatically apply this snippet everywhere on your site.

The last thing to do is activate the snippet using the toggle at the top of the screen.

Activating a WPCode snippet

Now all your BuddyPress emails are being sent through WP Mail SMTP in HTML format.

Let’s try it out!

5. Test BuddyPress Activation Email

Now we have WP Mail SMTP up and running, all BuddyPress emails are being sent through your email provider. This will fix the issues you were having with email deliverability.

To test it out, we can register a brand new user on your BuddyPress site to trigger the activation email. Be sure to use a real email address for this test because we want to be sure that the email is delivered.

Go ahead and register a test user now.

Register a new BuddyPress user to trigger activation email

When you submit the form, you’ll get the activation email in your inbox.

BuddyPress activation email

If the BuddyPress verification email goes to spam, it’s possible that you have a missing DNS record.

You can test this by heading to the WP Mail SMTP Email Test page.

Opening the email test tool in WP Mail SMTP

When you send a test email, WP Mail SMTP will detect any issues with your DNS records and let you know what’s missing.

For example, here’s what you’ll see if you don’t haven’t created a DMARC record.

WP Mail SMTP DMARC warning

If everything’s working, we can move on and look at some of those extra email logging features we talked about at the start.

6. View BuddyPress Activation Email in the Log

Now you have WordPress email logging enabled, every email sent from BuddyPress will be saved in your email log.

Head to WP Mail SMTP » Email Log to take a look.

Open the email log in WP Mail SMTP

We can see the BuddyPress activation email right here at the top of the email log.

BuddyPress activation email in WordPress email log

And because we enabled open and click tracking, we also know that the recipient received the activation email and clicked on a link.

BuddyPress click and open tracking on activation email

When you open up the log file, you’ll see some extra information.

At the top, you can see the Status of the email.

Status of BuddyPress activation email

All mailers support the Sent and Failed status. If you’re using a transactional mailer like SendLayer, you might see Unconfirmed or Delivered statuses as well.

Next, we’ll show you one final tip: how to resend verification emails from BuddyPress.

7. Resend the BuddyPress Activation Email

Right underneath the basic email log information, there’s also a Resend link.

This allows you to resend BuddyPress activation emails that have failed. If you want, you can forward them to a different email address.

Just hit Yes to resend the BuddyPress activation email that failed.

Resend WooCommerce emails in WP Mail SMTP

And that’s it! Now you know how to use BuddyPress SMTP to fix your activation emails.

Fix Your BuddyPress Emails Now

Next, Set Up Push Notifications in WordPress

Do you want to alert BuddyPress users or visitors? You can send alerts automatically based on specific actions, or manually send push notifications when you have something new to announce.

Check out this tutorial on how to add web push notifications to WordPress with a free plugin.

Ready to fix your emails? Get started today with the best WordPress SMTP plugin. WP Mail SMTP Elite includes full White Glove Setup and offers a 14-day money-back guarantee.

If this article helped you out, please follow us on Facebook and Twitter for more WordPress tips and tutorials.


  1. I follow this process and all perfect as per your post.
    Mail is going in the mailbox for Activation and when I click on the activation link then enters into the site. But there is a problem coming to my site. When I log out from the website and again want to enter into the website then my login form is not working. where I am submitting the correct username and password. Also, no error is showing. Please check and reply to me

    My Website: Topics Bank
    URL: https://topicsbank.com/

    1. Hi Mukesh,

      WP Mail SMTP plugin only handles email delivery. If there’s an issue with your login functionality, you need to troubleshoot that issue separately.

      You may need to contact a developer to find out the exact cause of this issue.


  2. Hi

    Have set up an extra user role for members. So when someone registers they are automatically added with the user role type Subscriber.

    Once we verify their payment we change the user role to member. What I need help with is sending an HTML email to the person on their role change to member to inform them of the role change.

    Normal Buddy press emails including activation emails work great.

    Using the code snippet below when I change a user from Subscriber to Member the email does not trigger.

    Any ideas? Is there a way to set-up and email on role change using the Buddy press emails rather than adding code to functions.php?

    See the core in the pastebin here: https://pastebin.com/EsxdSBDs

    1. Hi John,

      I apologize, but the custom development falls beyond the scope of the limited support we offer.

      In general, the idea with the “set_user_role” hook is correct, but you need to review your code.

      In case it helps, you may reach out to BuddyPress plugin support, and they should be able to assist you further.

      Thanks! 🙂

  3. Great Code! It works.

    But only one thin dont work.

    We use Invite Anyone to invite People by mail.
    The Buddypress mail will send as HTML Mails. all good.

    But all Invite Anyone Mails will send as Plaintext after i inserted the Code.

    What can i do?

    1. Hi Danny,

      Were you able to confirm the issue by removing those BuddyPress custom code?

      Basically, we don’t control the “Content-Type” (HTML / Plain Text) through the WP Mail SMTP plugin. You need to check the plugin settings that you’re using to generate those emails (Eg: Form plugins, Security plugins, eCommerce plugins, etc).

      Please get in touch with the plugin support that you’re trying to change the content type, and they should be able to assist you further.

      In case if you require further assistance, please create a support thread with more details.


Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our privacy policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.