With a client installation we see, that soft bounces (with Mailjet it thats relevant) seem to go straight to DNC. Thus the behavior is like a real hard bounce?
When I did a research I found those relevant info at Github:
Int value of the reason. Use Contacts constants: Contacts::UNSUBSCRIBED (1), Contacts::BOUNCED (2), Contacts::MANUAL (3). Default is Manual
My question: Is Mautic or the Mailjet adapter to differentiate the comments section of the bounce to identify if it should go to DNC or not? Or is Mautic putting all Bounced Contacts to DNC?
Hi @joeyk … sure, I looked them up in the database. The problem is, as long as the reason can be such different things hiding in the comments - from simple things like temporary problems to spam, the comments would need to be analyzed to have the proper treatment of the bounce.
There is only one DNC Reason for bounce - it doesn’t differentiate between Soft and Hard Bounce. The comments are completely different by provider. So the specific adapter needs to handle it. I tried to look up in the code, if the Mailjet adapter makes any difference in handling by comment. But I havn’t found any indication that it will be analyzed.
See an example from the DB log.
“:” until now Mailjet Support wasn’t able to properly explain that reason
“mailjet:preblocked” this contact was preemptively blocked by Mailjet, as there was some trouble with other Mailjet accounts sending to this contact (can be manually asked to be lifted) → should not land on the DNC list
“system:connection issue” → should not land on the DNC list.
So my question is: is there any part in the code - either core or mailer system adapter - that analyses that comments?
If we could check for the DNC reason / comment, we could easily build a campaign the continuously handles that bounces properly. For now I will work with my client to regularly remove DNC for reasons that don’t qualify for DNC.
Not sure if Amazon SES / Sparkpost Adapters are more advanced in Mautic?
Yeah, I can relate to this.
Each providers sends a different webhook as feedback loop.
They all have their own ‘language’ (which sucks) and Mautic tries to understand what that provider meant.
The general idea is , that response codes which start with 4xx are soft, 5xx are hard bounces.
I know for sure, that Amazon SES does a lot better job then this what you’ve show, so does Sendgrid.
Maybe reach out to @Abu_Musa on slack, he can help.
I am using Amazon SES, where the differentiation between soft and hard bounce works fine. But I was writing my own bounce handling in n8n, because it gives me more granular control on how often a soft bounce is being sent, etc. If you are interested, I think that can be adapted to Mailjet as well.
I could confirm this is an issue. We disable the Mautic bounce handling and use our own script to classify the bounce as soft (do nothing) or hard bounce (set do not contact via mautic api).
Another problem: the original bounce message from the bounce mail is not stored in mautic. This would make things easier.
In most cases: no. The reason is the interpretation result from mautic not the real bounce message.
And there are a lot of misinterpretations of the bounce messages.
For example: some email provider send bounce messages about mails that got greylisted. These are emails which just get delayed. Mautic sets them to do not contact with a bounce reason I forgot but which is not related to the real reason.
So I think it would be good to have the original messages in the bounce reason to re-evaluate.
Hello Sebastian,
We also have our own bounce and complaint processing partially due to the fact, that everything runs through Amazon and we needed our own solution to understand whos email quality needs to be improved.
I think the problem is, that these messages are changing as the providers are evolving, and Mautic needs to re-align the classification from time to time, which we don’t have capacity to do
Joey
At the moment I also collect different Bounce Messages. I would like to compile a lists with different reaons and the classification in : Soft Bounce or Hardbounce or Client Action needed
So far the webhooks of mailjet don’t even differentiate between hard and soft bounce. They only have a bounce webhool. This means unless you evaluate bounce reason and comment, it will always have wrong results (too many set to DNC).
I have a troubleshooting tool, that might be able to help you. It visualises Amazon SES logs. You can hook it up before you send next time, and we can check what the responses are. It takes the actual Amazon SES responses, stores and analyses them.
It’s a paid app, but I can offer you the first run for free, and you won’t need any more tests anyway.