I'm having an issue with our business' website. Every new user that registers on our site will never get an email confirmation which has the randomly generated password. As for us, the admins, we do get the email confirmation that so and so has registered.

I have tested if it's an SMTP issue using the test function of wp SMTP plugin and it works, and also we've actually written our own mail custom code which works(link below to screenshot) but don't know why the default mail function doesn't work.


We need this to work as other similar type of mail functionality doesn't seem to work and it may be related to this issue. It's our hope that if it gets fixed then those other mailing issues will be resolved too.

We've reinstalled WordPress, theme, disabled plugins, and every possible thing I can think off. But maybe you guys may know other ways to diagnose this issue.

Really appreciate your time guys!

  • Checked the PHP error log? You might find a code problem there.
    – jdm2112
    Apr 22, 2019 at 19:36
  • You might try contacting your host as well. Apr 22, 2019 at 19:46
  • You mentioned that you are using the WP Mail SMTP plugin? If so, and wp_mail() is sending through an SMTP account, you should be able to look in your "sent" folder to see if the message was sent.
    – butlerblog
    Apr 23, 2019 at 14:30

1 Answer 1


In your email code you're using mail PHP function, whereas WordPress uses its own internal wp_mail function that then sends the email using PhpMailer (for many different reasons) .. which should be using PHP's mail fn but there's a number of different things that could be causing problems.

You can also install the "WP Mail Logging" plugin to log any outgoing emails from your server, to see if WordPress is actually sending the email, and maybe your hosting provider is preventing the from being sent, adding them to some kind of queue, or even discarding them (to eliminate WordPress from the problem).

I recommend installing the log plugin above as you mentioned you're receiving emails but the end user is not. Their email provider could be sending your emails to SPAM or JUNK folders -- so use the mail logging plugin to confirm the emails are actually being sent from your server.

As others mentioned in comments, you should also check your hosting providers error logs. If you don't know where to find those, you also enable WP_DEBUG_LOG in your wp-config.php file to write to a debug.log file that will be located at /wp-content/debug.log by setting the following values in the wp-config.php file:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );

More information can be found at the link below, or by contacting your hosting company:

Another thing to mention -- make sure on your hosting provider that you correctly setup SPF and DKIM to help with email deliverability

  • Thanks for the suggestion, I'll try it out later. One thing I haven't mentioned is that I have contacted my hosting and they said on their end it's fine, also they mentioned that we're using g-suite. Not sure if that makes difference. I've only recently joined the team and I'm the only web developer here so I don't know what my boss had setup. I'll let you know how I get on. Thanks
    – jand1
    Apr 23, 2019 at 5:44
  • Hi, I installed the WP Mail Logging plugin and it does work! Admin and User are both sent an email. So I would get the email, but the user which is my own personal gmail to test is not receiving it. Again, from my message above, maybe because we're using g-suite as our mail server? I really have no idea. I have asked my hosting but they said that because we're using a different mail server they can't do much on thier end as they have checked everything already. So it does work and Wordpress is functioning, but users are not getting emails, only admin.
    – jand1
    Apr 23, 2019 at 12:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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