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!
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.
https://prnt.sc/nay08d
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!
Share Improve this question asked Apr 22, 2019 at 18:19 jand1jand1 314 bronze badges 3 |1 Answer
Reset to default 0In 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: https://codex.wordpress/WP_DEBUG
Another thing to mention -- make sure on your hosting provider that you correctly setup SPF and DKIM to help with email deliverability
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 Commented Apr 23, 2019 at 14:30