4

On my site, after a user registers they receive an email with an activation link. When clicking the activation link, sometimes the page doesn't load, sometimes it does (usually if I click the link twice).

But so far, there is no email that is sent with the login.

To activate your blog, please click the following link:

https://www.example.com/blog/wp-activate.php?key=1234

After you activate, you will receive *another email* with your login.

After you activate, you can visit your site here:

http://www.example.com/blog/testtest2/

The *another email* with your login is never received.

Has anyone encountered this? How to debug?

NOTE: If the activation page loads, I can click on the Reset Password link and then immediately I receive a lost password email. Here is the example text from an activation page:

Your account is now active!

Your site at www.example.com is active. You may now log in to your site using your chosen username of “testuser”. Please check your email inbox at testuser@test.com for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can reset your password (link is https://www.example.com/blog/wp-login.php?action=lostpassword).

The link above will create and send an email immediately but the activation page does not.

I'm using WPMU 4.5.2.

  • 1
    Please turn all plugins off, switch to the default theme and see if the problem still persists. If not, try switching one plugin on, retry, repeat. Also make sure that you have no drop in in your /wp-content dir (blog-deleted.php, blog-inactive.php, blog-suspended.php) that changes this behavior. – kaiser May 28 '16 at 21:59
  • ok I'll follow these steps. what is a drop? – 1.21 gigawatts May 28 '16 at 23:58
  • 1
    I wrote "drop in". Explanation here. – kaiser May 29 '16 at 0:26
3

In my case it was that my web hosting company was blocking my emails. Let me explain.

When I created my WordPress install I used my personal email to create the main user account. That email is a GMail email address like, "me@gmail.com". That's all well and good except if the email is not hosted on your domain.

When a new user signs up, WordPress uses the sign up email of the admin account to send them the login and registration emails. To actually send the message from my personal email, WordPress would need my actual GMail credentials. Since I have not supplied that information, it spoofs the email. It sets the sender as my personal email but it's actually coming from server.dreamhost.com. This is not necessarily a bad thing. It let's new users see and reply to my real email (instead of the hosting company server) when they sign up and for questions but in the same way this also let's spammers send emails to users using fake emails.

A few years ago, in an attempt to block spoofed emails, my hosting company started to require that all emails sent from it's servers use real email accounts. This used to work but is now blocked. My WordPress installs were still expecting the old behavior. Now before sending the email, my hosting company checks if the email is hosted by them and also if it's from the same domain it's being sent from. More info.


The solution is to use a valid email account that is hosted at the same domain as the WordPress install and not a personal email. To check or change this:

  • Login to WordPress using the administrator account
  • Go to settings
  • Check that the email is a real email that you have setup at your domain. Forwards may or may not work. Check with your hosting company.
  • Verify by creating a new user account and seeing if you receive the registration and login emails.

WordPress Settings Screen:

WordPress Settings Screen

WPMU Setting Screen:

WPMU Settings Screen

When you've changed the admin email of a WPMU site it sends you a confirmation email and asks you to confirm the change.

  • I think the reason it was working part of the time is that the plugin uses a valid email address while the new user registration uses the WordPress email. – 1.21 gigawatts Jun 4 '16 at 22:23
1

I have a similar problem and I contacted my host but this is the response I got:

"If you are using the php mail function to send these emails, please make sure that the sender is a locally hosted mailbox as in order for the php mail function to be operational, either the sender or the recipient needs to be a locally hosted mailbox."

Best, Eyaal

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.