3

Civi 4.7.20 / WP 4.8

For the past several weeks, we've been unable to send out any emails or test mails through CiviMail. No errors are logged, and even with backtrace displayed and error debugging enabled, there's no indication of any error. Yet every time we submit a mailing, every recipient email address bounces and is switched to On Hold. The There are no messages in the bounce email inbox (it's a conventional address, same domain name as the website), so it seems those emails never went out from the mail server.

Sending test email in System Settings / Outbound Email / SMTP succeeds, so we know the outbound email settings are correct.

Someone suggested the problem may be VERP is no longer supported on the mail server, so I contacted the hosting provider. I now know for certain that VERP was deprecated, and worse yet, catch-all email accounts are not permitted for shared hosting accounts.

In my limited understanding of CiviMail mechanics, I think we're supposed to either have VERP support or a catch-all email account. But we have neither. Is there a work-around?

Any ideas?

ADDENDUM: Though we're also experiencing buggy behavior in Reports, I did manage to coax Bounce Reasons out of our system. Syntax errors seem to be the culprit, and they all look like "Failed to add recipient: {email address redacted} [SMTP: Invalid response code received from SMTP server while sending email. This is often caused by a misconfiguration in Outbound Email settings. Please verify the settings at Administer CiviCRM >> Global Setting"

Also, per Chris' suggestion below, I looked at the "Track replies using VERP" option, and discovered it's already deselected. So while my original question was Can't send or test mail, neither VERP nor catch-all supported, I am changing it to Can't send or test bulk mail, but test mail succeeds in System Settings / Outbound email / SMTP.

1
  • I'm seeing something very similar with a new set up on CiviCRM 4.7.22 and WordPress 4.8.2. The outbound mail test works fine, mails to individual contacts work, but any mail sent out by CiviMail says it bounces with a syntax error. Various different other ends so must be something in my set up. VERP deselected and I don't think its going anywhere near the bounce processing address. It is a small set up and I really don't want to go to a third part provider and I think the email is quite flexible. Very frustrating!
    – Mick Kahn
    Sep 26, 2017 at 17:18

2 Answers 2

3

The symptom as you describe it seems to be that any mail sent via CiviMail will fail immediately and will cause the recipient to be marked as bounced. CiviMail knows when the remote mail system rejects an email, so if that remote system doesn't work as configured, this is the expected behaviour (frustrating as it must be).

You need to understand why CiviMail is not able to deliver ANY messages but regular "Send Email" delivery works for you in CiviCRM.

Probably the most accessible option is to try a replacement mail provider. A few of those listed in this CiviCRM wiki page on mail providers offer a free tier, but everything has its price.

The more complex option is to debug what's actually happening when those mails get sent. This will involve understanding the code that communicates with your mail system as configured, and making the response from the SMTP server visible. I believe you want to start in civicrm/packages/Net/SMTP.php, CiviCRM fetches this from PEAR's Net_SMTP with this patch applied.

The latter option gives you more insight into the issues you're experiencing and might help some future CiviCRM sites who hit the same issue on your hosting environment. If you are confident at debugging, or can find someone to work with through CiviCRM community, that's what I'd try to do. If you just want to get the client live again, you should probably try a replacement provider (or two).

5
  • Thank you for your patience and persistence, Chris! Yes, switching mail providers seems to have worked. Took a few hours to get everything set up and running, but that's nothing compared to the days I spent picking shreds of my ego out of my keypad. Bravo!
    – Prónay
    Jun 30, 2017 at 21:40
  • And the debugging would be highly informative, if only I had sufficient time to do it properly. Maybe when the kids move out ...
    – Prónay
    Jun 30, 2017 at 21:42
  • Glad to hear you solved it! Useful clues you could add to your question here for future readers might be which webhosting provider you were on (since people often search for "[provider] CiviCRM mail") and which mail delivery provider(s) worked (or didn't work!). Jul 1, 2017 at 0:10
  • Initially we were using the native mail on our hosting server (InMotion), which worked fine. Civi's Mailer batch limit, throttle time, job size and CRON limit let us to keep InMotion's mail servers out of trouble. But alas, InMotion tightened security protocols in such a way that Civi could no longer work with their mail servers. (I'm looking forward to my hosting bill dropping now that the bundle of services has diminished.) Anyway, we went with SparkPost as our new mail provider. Affordable, easy set up, plenty of tracking & reporting features. Also love the CiviDesk SparkPost extension.
    – Prónay
    Jul 1, 2017 at 3:13
  • I had a similar problem with "syntax" errors. I've ended up trying SparkPost too and at least I have got round the problem for now. But I don't like the added complexity and not sure I understand how it all works. Would much rather use the hosting provider's email and I don't think they are restrictive, but will have to come back to this later. Thanks for the pointer.
    – Mick Kahn
    Sep 30, 2017 at 20:43
0

From https://docs.civicrm.org/user/en/stable/advanced-configuration/email-system-configuration/#verp-support

If your mail delivery system does not support sending via VERP addresses, you may see an "Invalid address" error when sending mails. Either switch to a mail provider which does support this, or disable VERP.

  • There are plenty of mail services which fully support CiviCRM features - consider using one!
  • VERP can be disabled via the option Track replies using VERP in Reply-To header at Administer > CiviMail > CiviMail Component Settings. This will reduce CiviCRM's ability to correctly match bounced messages.

I recommend as a first step, you try disabling VERP (bullet two above), then see if your CiviMails start being delivered.

From there, you should review whether the current mail delivery method CiviCRM is using is suitable for your site. If it is, and you can live without VERP, then you're sorted! If not, there are plenty of alternatives to choose from.

In that case, before deciding on a replacement provider I'd recommend trying a web search for "[providername] CiviCRM" - you might find other stackexchange questions or previous questions that help inform your decision.

3
  • Thank you Chris! Last time I was in Administer > CiviMail > CiviMail Component Settings, I failed to notice the "Track replies using VERP in Reply-To header." However, I now see that option is already deselected. So it seems the presence of VERP coupled with the hosting provider's unwillingness to support VERP is not the problem. Would you agree?
    – Prónay
    Jun 30, 2017 at 12:55
  • Also, please note my addendum to the original question re: Bounce Reasons, just added.
    – Prónay
    Jun 30, 2017 at 13:16
  • Yes, lot's of alternative solutions for sending email such as Amazon SES, Sparkpost etc. All relatively easy to setup and avoid the headaches of dealing with shared hosting email issues. Jun 30, 2017 at 18:42

Your Answer

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

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