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.
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:
WPMU Setting 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.