I've been struggling with this for the last two days, and while this doesn't "fix" anything, it does improve on the dreaded error message. Users cannot email each other because they get this error, so I disabled User email via board in Configuation. I also set enable account activation to None (they can still register apparantly).
But, when they registered they would still get this error message and think their registration failed, and leave of course even though their registration worked and all they needed to do was to log in.
Failed sending email :: PHP ::
Line : 234
File : /phpbbmyadmin/includes/emailer.php
After searching this board and finding no answer, I contacted my host Yahoo (business professional). They informed me I should not use SMTP (which gave a different error message), but should leave SMTP turned off in Configuration. Of course this did not help. Then they wanted more info so they could look into the problem, I haven't heard back yet, but I don't think it's a problem at Yahoo because it seems a lot of people are having the problem and I doubt they are all on Yahoo.
I found a little php script on this board, forget who posted it, to test the php emailer function. Just make a minimal php file and put this in the body, be sure to put your correct email address in.
$to = "put your email address here";
$subject = "test mail";
$body = "Email Works";
mail($to, $subject, $body);
By executing this file, I verified that the mail function works, as I received the email. Didn't solve the problem, but it may help someone.
SO, to make my board at least functional until someone figures out what's going on, I did this:
In the includes directory, first I copied emailer.php to BACKUPemailer.php (so I can replace it later)
In emailer.php I found line 234, which looks like so,
message_die(GENERAL_ERROR, 'Failed sending email :: ' . (($this->use_smtp) ? 'SMTP' : 'PHP') . ' :: ' . $result, '', __LINE__, __FILE__);
I changed it to
message_die(GENERAL_ERROR, 'SUCCESS, Click on Forum Index to log on and/or continue');
Users now get the message "SUCCESS, Click on Forum Index to log on and/or continue" instead of the error message. Of course they're going to get this anytime phpbb tries to send an email, but it's a little better than the Failed sending email message, and they can just click on Forum Index to continue on the board. Now I don't know PHP yet, but message_die() looks like a function, and what I replaced perhaps is parameters to pass to or from the function. It doesn't correct the problem, just makes the error message look better so the user doesn't get confused and leave.
For my board to really work as planned, I need the emailer to be able to send email, so I hope someone finds a solution to the problem and posts it here. If you search for Line 234 emailer.php you will find lot's of posts about this problem, and some solutions, although I haven't found anything to fix the exact problem that I'm having you may find the solution to yours.
In the meantime I'm trying to learn PHP so I can hopefully figure out the problem myself. This is not easy, what with the complexity of phpbb and the way it calls functions and uses includes which are scattered through various files, but I bet I can fix it in a year or two, lol. Hope someone posts the solution to this soon, many people have this problem, seems to be a error in phpbb as my emailer is working.