Closed bugfolder closed 8 months ago
I can add a little bit to this. When parseSourceString()
attempts to parse $civimail_source
, it is using the regex
$regex = '/^bounces(b|c|e|o|r|u)\\.(\\d+)\\.(\\d+)\\.([0-9a-f]{16})@MYSITE\\.org$/';
And so this part of the regex ([0-9a-f]{16})
fails to match the string b6sakmshrynbsghr
in the example above. That string gets returned as $bounceEvent['hash']
, so it's a hash of something. Could it be that the hash function changed?
Hmmm...Changing that bit of the regex to ([0-9a-z]{16})
seems to stop the warnings, which suggests that the events are now being processed correctly.
Yes. That change stops the warnings and opens are being recording in the mailing report. PR to come shortly.
Ah, I see that this is already done in this commit: d346a42df3a404cb0ca655f265784d7843c9651a
And I see there's a release version 2.2.2 that includes this. Would be nice if CiviCRM didn't claim that version 2.1 was "up to date."
Using CiviCRM 5.70.2, Airmail 2.1, with PHP 8.1 in BackdropCMS 1.27.0 (all latest versions, recently updated).
After sending a large mailing, the watchdog log is filling up with PHP warnings like this:
There is a triplet of warnings for lines 25, 26, and 27. Actually, there are many such triplets (it was a large mailing).
Some "hot" debugging gives some indication of what's going on. At line 22, we have this:
That turns out to end up with the value NULL, which gives rise to the three warnings above (and I'm not sure what other problems might be happening downstream).
A typical value of
$event->civimail_source
is this:bouncesb.97.119993.b6sakmshrynbsghr@MYSITE.org
(substituting MYSITE for the actual domain in this example).All the other fields in
$event
are present; here's the full structure (with a bit of anonymization):So it appears that CRM_Airmail_Utils::parseSourceString() just isn't able to handle the current version of the
civimail_source
string.I don't recall seeing this blast of watchdog warnings in previous mailings. Could the format of this string have changed in a recent version of CiviCRM? or SendGrid?