I use WordPress for my blogging platform and I LOVE it. I’ve used them all (Typepad, Blogger, etc) but nothing compares to WordPress.
So up until a few days ago, I’ve had zero problems but little did I know I was never getting emails when someone posts a new comment! Turns out this is a Yahoo hosting restriction not a WordPress bug (I’m on version 2.0.2).
Basically Yahoo email doesn’t allow you to use the
wp_mail function located in the
/wp-includes/pluggable-functions.php file….well at least not out of the box.
Here’s the change I had to make in order to correct this issue.
It took me hours of trying to troubleshoot this sucker before finally finding out the problem. FTP down
pluggable-functions.php and open it for editing. You should then comment out line 343 and replace it with your hardcoded email address like below.
Make sure the
@yourhostname.com matches the domain name you’re hosting your blog on otherwise it won’t work.
// $from = "From: \"$comment->comment_author\" < $wp_email>";$from = 'From: "Cowgill Blog" <email@example.com>';
After you’ve saved your work, upload it back to your blog and try posting a comment. Did it work?
If you still don’t get an email notification, then there might be another problem. Bang your head against the desk and take a deep breath. Next step….try sending a direct email to your account to make sure the you setup under “Options => General” actually works.
If you’re still in the dark, try checking your Yahoo
/tmp/mailError.log file which will give you an error message something like this:
2006 Sep 24 22:36:28 Result: 9 2006 Sep 24 22:36:28 From address not in member domain. Message not sent.
That message means you still haven’t fixed the
@hostname.com problem outlined above. Bang head again and then try again.
Let me know if you still have problems. Again, this troubleshooting is only written for WordPress hosted by Yahoo! but could apply to other sites as well.
It is bad practice to update any WordPress core file. Any WordPress version update will blow away all your changes. Instead, you should use the hook system built into WordPress. Either via a plugin or coding it yourself.