Comment from: fplanque

b2evolution will send emails in a number of occasions:
If you are not receiving these email notifications you may want to do the following:
First things first: have you checked your spam folder? (especially if you’re using Gmail which is extremely aggressive on qualifying anything with an "unsubscribe" link as spam…)
In case you doubt that b2evolution actually sends out the emails, you can very easily see ALL the emails that b2evolution has sent.
In the back-office, navigate to Emails > Sent.
This shows ALL the emails that b2evolution has tried to send. It also shows whether or not the system accepted the emails or not.
b2evolution uses PHP’s mail()
function to send these emails.
Some hosting providers, however, disables this function for security (spam) reasons. Usually, if this is the case, your b2evo will show a warning message alerting you of the situation. Before trying something else, you should double-check that the email output is enabled in your server by using the script below:
<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$additional_parameters = '-r webmaster@example.com';
mail($to, $subject, $message, $headers, $additional_parameters);
?>
If you receive this sample email in your inbox, we can rule out the server configuration as a possible cause and continue with our investigation. Maybe, you should check the email notification settings for each feature.
mail()
functionIn b2evolution 6.7.5+, see: PHP mail() Function Settings.
In older b2evolution versions, see the following:
On some web hosts, the defaults params that b2evolution passes to the mail()
function will not be accepted. You can tweak them to some extent with the $sendmail_additional_params
variable you will find in the _advanced.php configuration file. The default setting is $sendmail_additional_params = '-r $return-address$';
.
If sending email results in errors (red dots in the "Sent emails" log), try these variations (in the following order):
$sendmail_additional_params = '-f $return-address$';
$sendmail_additional_params = '-r $return-address$ -f $return-address$';
$sendmail_additional_params = '';
If one of these variants works, please be so kind to leave a comment below with the name of your web host and the variant that works for you. Thank you!
If you can’t get PHPs built-in mail()
feature to work as expected (generally due to limitations of your webhost), you will need to configure an SMTP Gateway which can be locally provided by your webhost or be a remote SMTP Server that you are allowed to use (you will typically need a username and password). This could be the server of your normal cloud email account (Gmail, Yahoo!, Fastmail, etc.)
You can set up an SMTP Gateway in the SMTP Gateway.
User Report: ICDsoft hosting requires
-f