Configuration: MacOS, MAMP, Wordpress, CiviCRM Individual mail works fine. Messages show up in log. Minimal test config with users and groups marked as not-hold and bulk mail. Users in groups are the same as the ones that work for individual mail.

System cron set and working. Mailing job being executed manually (for now).

Debugging and logging are turned on.

I use New Mailing to create a new mailing job. Recipient group shows members (the same one used for individual mail). Sending to single recipient shows completion with no errors and no log messages. Sending to group shows the same. Following through to schedule the message shows success. Manual triggering of job show success. Job log shows:

2020-02-03 11:31:09 Send Scheduled Mailings Entity: job Action: process_mailing Summary Finished execution of Send Scheduled Mailings with result: Success (a:1:{s:9:"processed";i:2;}) Details

Parameters parsed (and passed to API method): a:1:{s:7:"version";i:3;}

Full message: Finished execution of Send Scheduled Mailings with result: Success (a:1:{s:9:"processed";i:2;})

Nothing is in the CiviCRM..log

Any suggestions or help would be much appreciated.

  • Can you check if Outbound email is set to mail or smtp? Are you using any third party extension for sending email like sparkpost? Can you check if emails are in your spam/junk box? Feb 3, 2020 at 17:40
  • Outgoing email is set to SMTP. Note that individual mail sent during setup test works fine. No third-party extensions are installed at all, not even in WP. No emails in the spam or junk box. More interesting is that there is nothing at all in the logs - either the Civicrm logs or the system logs. Do you know if the somewhat opaque job log entry means anything ?
    – JohnL
    Feb 4, 2020 at 14:06

1 Answer 1


Lots of digging here: The culprit is Bluehost shared hosting AND VERP (variable envelope return processing), which is an interesting hack and very useful for massive systems. (I am a colleague of Ray Tomlinson and something of a dinosaur when it comes to email protocols ...)

Bluehost is my shared hosting provider (no VERP) and VERP is - well, a hack. VERP SHOULD be handled with extra header settings but is done as a sender NAME which violates all kinds of identity-based authentication protections - but then I'm a security expert and so I do have opinions.

Technical answer: Bluehost (and most others) do not support VERP unless you pay for a VPS or better plan.

CiviCRM - being intended for big players - requires VERP to handle bounces and other issues when dealing with large mailing lists. (Kudos to CiviCRM)

My 501(c)3 is neither a big player (fewer than 20 recipients) nor willing to pay for a VPS (because we're small ...) and not willing to pay for a for-profit CRM (because we're small).

The answer for people in a similar situation to me is to edit out a portion of smtp.php (in the civicrm folder) and comment out:

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

smtp.php = (cd civicrm folder; exec find . -name smtp.php -a -print;)

The CiviCRM people (bless them for their efforts !) will rightfully claim that my, and other's, 'solution' is a hack (VERP is a hack too, but useful ...) that should be deprecated with excessive force, but they should also allow the ability for us small folks who have *NO OTHER FREE AND OPEN SOURCE SOLUTIONS* an option as part of the configuration.

Love an kisses ...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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