Per this thread, I've been editing our /administrator/components/com_civicrm/civicrm/packages/Mail/mail.php like so to resolve a mail not sending issue:

// if (!empty($headers['Return-Path'])) {
//     $from = $headers['Return-Path'];
// }

I've been doing this since v4.4.4, and it is a bit of a hassle. We're on Bluehost, which apparently doesn't offer VERP (whatever that is). I successfully run dozens of Joomla sites on Bluehost and have no intention of moving.

Has anyone found an alternative solution here? Does Bluehost actually offer VERP and I'm just not finding it?

Thanks much.


1 Answer 1


So VERP means that the "technical" sender (smtp envelope) is different for each mail sent. the benefit is that if a bounce comes back to this unique address, we know what email/contact it is (something that is impossible otherwise, as the invalid email might be hidden behind a mail forward)

To make it work, you need two things from your hosting provider:

  1. being able to set the technical sender to be different than the visible from email
  2. being able to receive the VERP emails back (the trick is usually to have emails servers that can handle "+" notation, so you@yoursite.org receives email sent to you+something_unique@yoursite.org, something gmail for instance offers, but not exchange servers)

The code you comment out seems to hide the problem 1., but it does not fix it. Does the bounce processing work on your site? I would suspect that civicrm isn't aware that some of your recipients have invalid emails and doesn't flag them automatically as bounced. Are you receiving the bounces and doing it by hand?

Anyway, as the solution, having a host that allows VERP is the best option, but another one would be to develop/sponsor a mode that doesn't rely on VERP but on additional email headers. I did implement the first part and every email sent contains extra headers (X-CiviMail-Bounce), what is missing is the second one:

  • changing the bounce processor to use this extra header
  • changing the mail sending job to only set the header but not the VERP sender
  • add a setting to allow to switch to that "mail header only, no VERP" mode

Would you be able to contribute to that code or sponsor that development?

Unfortunately so far, those having the capacity to make it happen found faster and cheaper to switch to a more feature complete host rather than investing into adding that "header only" mode.

  • Thank you for the helpful answer. I'm very surprised that this isn't a more common issue considering the number of Joomla installs at shared hosting services. We do receive notification of bounces, and our newsletter editor manually sends those newsletters via email.
    – isherwood
    Feb 4, 2016 at 13:15
  • It's not an issue that is linked to the CMS, Civi on drupal or WP has the same requirements. Some shared hosting providers allow it, unfortunately, bluehost doesn't seem to be one of them
    – Xavier
    Feb 4, 2016 at 13:18
  • My point was that CMS volume is large on shared hosting, and CiviCRM is a highly-rated extension. Seems like it would come up more. That said, the learning curve for Civi is high, and this issue may get lost in the fray for some users, who ignore it or give up.
    – isherwood
    Feb 4, 2016 at 13:22
  • I would suspect that a fair number of civimail install aren't properly configured indeed. Unfortunately, the downside of not handling properly bounces (being automatically classified as spam by the mail servers of some recipients) comes later after the install, and is very hard to spot.
    – Xavier
    Feb 4, 2016 at 13:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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