CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using CiviMail (Moderator: Piotr Szotkowski) »
  • bounce processing requirement
Pages: [1] 2

Author Topic: bounce processing requirement  (Read 7598 times)

lcdweb

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1620
  • Karma: 116
    • www.lcdservices.biz
  • CiviCRM version: many versions...
  • CMS version: Joomla/Drupal
  • MySQL version: 5.1+
  • PHP version: 5.2+
bounce processing requirement
September 01, 2011, 09:17:40 am
v3.4/4.0 introduced a preProcess rule to require a bounce processing mail account be configured in order to create a mailing. that rule is also present in the cronjob script.

i disagree with that inclusion. while bounce processing should be encouraged, I don't believe it should be required. CANSPAM does not require automated bounce processing -- it is just recommended to improve the likelihood of the email not being flagged as spam.

there are two scenarios where I see organizations not using it:

1) small organizations who want bounces to come back to their FROM email box for manual processing. if they are handling very small volumes, it may be to their benefit to receive the bounce directly to their inbox so they can follow up with the constituent or decide on another action.

2) alternate bounce processing. for example, I have one client using Sendgrid for SMTP delivery. Sendgrid requires that bounce processing happen through their system. implementers either use a push/event-based API or pull--based API script to retrieve bounces and update in CiviCRM. so we make no use of the CiviMail bounce processing directly -- everything is processed via API. the addition of these preProcess rules meant I had to modify files just to be able to send emails.

the rule present in the new mailing form isn't as big a deal, as it can be modified with an override. but the cronjob script threw us off, as the mailings were failing unexpectedly due to the rule. and that file is not overrideable.

anyway -- i think the spirit of the form rule is fine. but it shouldn't block use of civimail. in the new mailing form, we could add a non-fail notification. and I think the rule in the cronjob should be removed altogether.
support CiviCRM through 'make it happen' initiatives!
http://civicrm.org/mih

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: bounce processing requirement
September 01, 2011, 09:41:42 am

do u know the issue number which added this?

I agree that bounce processing while strongly recommended, should not be enforced (or at least we should give the ability to be over-ridden)

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

lcdweb

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1620
  • Karma: 116
    • www.lcdservices.biz
  • CiviCRM version: many versions...
  • CMS version: Joomla/Drupal
  • MySQL version: 5.1+
  • PHP version: 5.2+
Re: bounce processing requirement
September 01, 2011, 09:59:53 am
it's Xavier's fault...
http://issues.civicrm.org/jira/browse/CRM-8267
support CiviCRM through 'make it happen' initiatives!
http://civicrm.org/mih

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: bounce processing requirement
September 01, 2011, 10:46:26 am
Not a bug, feature.

The rule has always been that if you send an email, it's using the from email address (for bounces) to generate the unique email that will allow to catch the bounces. If it it isn't properly configured, it has always failed. The only change I *rightly* introduced is that it fails now before spamming the planet instead of failing silently. I think it's normal, sane and correct NOT to send emails that you know the the bounces will get lost.

So if you try sending as fixme, it fails and it's expected, and he saw it's good. There isn't any valid case where the sender  (at the envelope smtp level) is fixme.

For the mail servers not handling the + notation (exchange, I'm looking at you), it might make sense (not that convinced, but understand) to get a mode that is using the sender email address instead of the from. It's probably a reasonably simple change.

eg. having a define "NO_BOUNCE_ACCOUNT" that instead of using the from and + notation simply use the from email address, that will get bounced to the sender.

lcdweb, can you implement a fix for something like that?

X+

P.S. It will create another layer of crappy issues, eg. if I send as john.doe@gmail.com, it will will be blacklisted and trashed because of the SPF in place. The best sane option it to stop before sending, but for those that know what they do, might make sense to get the NO_BOUNCE_ACCOUNT mode anyway, and hope for the best
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: bounce processing requirement
September 01, 2011, 10:49:00 am
@lcdweb: to cover both case, instead of a define NO_BOUNCE_ACCOUNT, having a BOUNCE_ACCOUNT= "whatever@willgetallthebounce.org" (that will be used for the sender), or BOUNCE_ACCOUNT=false (where you will use the sender email address to get the bounce.

What do you think?

X+
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

lcdweb

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1620
  • Karma: 116
    • www.lcdservices.biz
  • CiviCRM version: many versions...
  • CMS version: Joomla/Drupal
  • MySQL version: 5.1+
  • PHP version: 5.2+
Re: bounce processing requirement
September 01, 2011, 12:04:46 pm
continuing our IRC conversation...

bottom line is that currently we force people down a path which I think should be encouraged, but not required.

from an admin/end user standpoint, the most logical resolution in my opinion is to check if the default mail account is still set to "FIXME" and provide a warning. if it is not set, we should default to using the FROM email address for the mailing as the reply-to -- or simply unset the reply-to altogether.

the warning should only be present in the new mailing form -- we shouldn't be putting warning or fail messages in the cronjob script.

my scenarios above are legitimate reasons why an org would not use the standard bounce processing implementation. your example of Exchange not supporting plus-addressing is another. we shouldn't have to modify code in order to implement valid civimail configurations.
support CiviCRM through 'make it happen' initiatives!
http://civicrm.org/mih

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: bounce processing requirement
September 01, 2011, 02:32:41 pm
Hi,

I think warning is not enough. Not handling the bounce is clearly an inferior solution, that shouldn't be presented as a proper alternative, and we all know no one reads the warning anyway.

I think the proper bounce channel should either be installed, or properly and explicitely disabled. Don't have a strong opinion of where it should be explicitly disabled (UI or setting file). The later is probably easier to implement and slightly harder to use, two good reasons to go for it, but whatever is fine for me.

Two options exists as crappy solutions short of a real bounce VERP return channel:
- return to the sender (but that leads to other issues if the sender has a domain name with an SPF that doesn't include the civicrm server)
- return to a non verp mailbox (but that leads to another issue of bounces ending up in this mailbox that is never read)

@Brian, if you want to implement the second option, the mail header contains the same unique ID than in the VERP. I don't know how many mail servers keep that header when bouncing, but that's what we did on PHPList, and seems to work ok enough to be parsed most of the time. Ie. that might be a good solution to have a proper return channel even if you are using exchange.

X+
« Last Edit: September 01, 2011, 10:29:15 pm by xavier »
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

lcdweb

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1620
  • Karma: 116
    • www.lcdservices.biz
  • CiviCRM version: many versions...
  • CMS version: Joomla/Drupal
  • MySQL version: 5.1+
  • PHP version: 5.2+
Re: bounce processing requirement
September 01, 2011, 02:47:45 pm
but the whole point of my argument is not that bounce processing shouldn't be encouraged -- but that it may be accomplished outside of the native CiviMail processor, and we shouldn't have to hack code to provide for that.

as I explained earlier -- we're using Sendgrid (as are others) -- and they *require* bounce handling be done through their system. that means you *can't* use the civimail bounce processing if you're using sendgrid. it's just not possible. I don't think I should need to hack core in order to accommodate a very legitimate alternative bounce processing mechanism.

and as I explained as well -- small orgs may not need or want to use full fledge bounce processing -- and that's ok!

you're taking a "should" and making it a "must".
yes, most orgs should make use of the civimail bounce processing. but must they? do we really want to force them to use it? give them no other option aside from code customization?

if we want to explicitly set an option that turns it off, somewhere in the civimail config, i'm cool with that. i would do it in the interface though. not as a settings file constant.
support CiviCRM through 'make it happen' initiatives!
http://civicrm.org/mih

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: bounce processing requirement
September 01, 2011, 04:28:29 pm

I think there is a bit of discrepancy / missing features in the conversation, to recap:

1. We need the default mailbox settings to set the VERP address of various headers

2. These settings are also used by the bounce processor

3. Allow the user to use the FROM address for various mail headers (along with the unique ID as needed) if the above is not set. We probably should figure out what settings make sense when smtp servers like sendgrid are used. This will require some amount of changes to the current release and probably a good candidate for 4.1. Not sure that those servers do with the various headers.

4. So far, not too many people have complained about this issue. So reminding / enforcing that they set good values for the default mailbox might not be a bad option, IMO

lobo

A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: bounce processing requirement
September 01, 2011, 10:45:05 pm
Hi,

Indeed, sending an email with civimail *require* to have a mail account (that's used to create the sender address at the smtp level). It is *never* correct to send an email without that mail account set up, so that's a good idea to block the sending. That's not that we are now forcing them into a bounce processing road, it's that we have always done it, but were failing silently if that road was fixme. Now at least they know they are on a dead end.

@brian, what needs to be changed to cope with your use case is a mode so civimail doesn't use the mail account to create the sender address (smtp envelope). That was the two options I mentioned (use the sender email address or use a mail account without using the +). Probably not a super complex task, once the UI is figured out. Can you make it happen?

X+
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

datagroove

  • I’m new here
  • *
  • Posts: 22
  • Karma: 0
  • CiviCRM version: 4
  • CMS version: drupal
  • MySQL version: 5
  • PHP version: 5.3
Re: bounce processing requirement
February 27, 2012, 08:36:27 pm
I am using Sendgrid with CiviCRM 4.1 and Dupal 7. Is there a way to have bounce processing handled by both sendgrid and civicrm? At the moment, all emails that go through sendgrids SMTP servers have their Return-Path set to sendgrid IP.

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: bounce processing requirement
February 27, 2012, 11:33:33 pm
Hi,

the bounce goes in one place only. I don't know if you can configure sendgrid to send back to you directly, or if they have an interface to retrieve the bounce information so you can add them to civi

X+
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

lcdweb

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1620
  • Karma: 116
    • www.lcdservices.biz
  • CiviCRM version: many versions...
  • CMS version: Joomla/Drupal
  • MySQL version: 5.1+
  • PHP version: 5.2+
Re: bounce processing requirement
February 28, 2012, 09:48:10 am
you can create a script that gets the bounce details from sendgrid via their API and then processes it in civi. that's really the only way to handle it. sendgrid has two API methods -- web api (which pulls the data upon request -- i.e. a cron script) and an event api (where they send data to a desired script as it happens). in our experience, the event api is much more full featured.
support CiviCRM through 'make it happen' initiatives!
http://civicrm.org/mih

lcdweb

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1620
  • Karma: 116
    • www.lcdservices.biz
  • CiviCRM version: many versions...
  • CMS version: Joomla/Drupal
  • MySQL version: 5.1+
  • PHP version: 5.2+
Re: bounce processing requirement
March 01, 2012, 11:11:54 am
another option is that sendgrid has a bounce forwarding option --
so sendgrid goes ahead and processes the bounce themselves, then forwards to an email address where you can process with civicrm. i believe there are some limitations though. it may not forward all bounce types. you'd have to investigate.
support CiviCRM through 'make it happen' initiatives!
http://civicrm.org/mih

Parvez

  • I post occasionally
  • **
  • Posts: 91
  • Karma: 7
Re: bounce processing requirement
May 21, 2013, 03:03:03 am
Sorry to resurrect this old thread but did this ever get resolved? i.e. not needing a smtp envelope? We're using Sendgrid with a few clients also and have recently run into problems due to this.

Pages: [1] 2
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using CiviMail (Moderator: Piotr Szotkowski) »
  • bounce processing requirement

This forum was archived on 2017-11-26.