Mautic showing emails as bounced, but SendGrid shows emails as delivered

Your software
My Mautic version is: 4.4.4
My PHP version is: 7.4.33
My Database type and version is: MySQL 5.7.39

Your problem
My problem is: Mautic showing emails bounced, but SendGrid shows emails as delivered. For example, for one contact, Mautic shows email bounced with error 550 5.1.10 email address not found by SMTP address lookup. However, SendGrid shows same email as delivered.

These errors are showing in the log: n/a

Steps I have tried to fix the problem: ??? Don’t know what steps to take.

Hi, is this happening on a large scale or a one-off event?
Did it work before okay?

Hi @joeyk

For example, I just sent a small batch of emails and it did it on 20% of the emails.
It was not doing it before. As far as I can tell, it started a few weeks ago.

Thank you,
Bob H.

When you check the DNC reason, can you see the errors sent by Sendgrid?
Or Mautic blindly assigns the wrong value?

When I open the contact and scroll-over the “bounced” tag, it pops an error like 550 5.1.10 email address not found by SMTP address lookup. But if I login to SendGrid and check activity on the sent email, it shows as delivered without any errors.

Hi @joeyk :

Just thought I’d update you on this issue and for anyone else who happens to stumble across this issue/thread:

This issue happens in the case of delayed bounces.

SendGrid replied to my ticket:

After checking from our end I can see that all emails are being processed and delivered correctly but then are being bounced on the recipient side.

This behavior happens when mail is initially accepted for delivery but later refused after the SMTP dialogue has ended. Because the original SMTP connection was ended upon delivery confirmation, a new dialogue is initiated, with most of the previous context lost.

As a result, delayed bounces lack a linked IP address and other information, such as the message ID.

Due to the lack of the message ID, these delayed bounces won’t reflect into the Email Activity Feed since the Activity feed relies on msgid to display the data.

A delayed Bounce happens when a receiving party has multiple MX servers accepting email for a certain domain, configured in such a way that some servers are authoritative (in the back) but others are not (conveniently located at the front).

I would say it is a bad practice and it should not be used simply on the grounds that this method does not follow the SMTP protocol as intended. However it is possible to speed up email intake with this method and some companies use it.

Hence a front server will take an email just because it was sent to the destination domain, without making the required verifications. Later on, an authoritative server will make said mandatory verifications, find an issue and finally return an email that was previously accepted, hence the name “delayed bounce”.

Let’s see how this process works with a deep and keen look into the engineering involved:

SMTP Client (Origin): Hello mail.xyz.com, I was told you are in charge for email sent to the xyz.com domain.
SMTP Server (destination): Hey pal, yes, that would be me. My name is mail.xyz.com, I have 25 clones and we are all named mail.xyz.com. But you can tell us apart because we all have different IPs For example, I am 102.11.33.44, but my brother here is 102.11.33.45, completelly different!
102.11.33.45: hey there!
Origin: Hey.
Destination: Oh! and I speak 33 different protocols, let me list them for you…
Origin: Yeah, yeah, thank you for the list of 33 protocols, I will treasure it forever more in my RAM…
By the way, it is so great to chat with you guys, but the reason why I have connected with you is that I have this email for abc@xyz.com
Destination: Oh! yes, an email! Let me see… Yup, I have an abc mailbox on domain xyz.com, let me see if that account has free space… Yes it does, let me see if it is not blocked… or banned… or on vacation, or… Yes, it seems it meets the conditions to receive email… Yes it does, I’ll take your email and deliver it for you.
Origin: Thanks pal, take it easy and have a great day!
Destination: You too, see you soon, man I’m so eager to send you the list of protocols I speak, yet again!

Yes, the SMTP protocol is so old, even computers were kind to each other at the time…
But, nowadays, everything is so urgent! No one ain’t no time for chitchat!!!
So, in order to speed things up, some SMTP clients will go like this.

SMTP Client (Origin): Hello mail.xyz.com, I was told you are the…
SMTP Server (destination): Yup it’s here, give that email, c’mon hurry up, ain’t got all day!!!
Origin: I have an email for abc@xy…
Destination: Yes, yes, yes, we’ll take it! thank you for your visit, byyyeeee!

5 hours later…

SMTP server 1 (Receiver, aka destination… but not really): Hey Autho, I got this email for abc@xyz.com this morning, can you deliver it for me?
SMTP server 2 (I’m authoritative, but everyone calls me Autho): Yeah, about that, it would seem we do not currently have an account “abc” at the moment… you know what I’m sayin…
Receiver: Say whaaaaaat?
Autho: Yeah, it would appear that we do not currently have an account “abc”…
Receiver: I heard you the first time! it was a rhetorical question, you moron.
Autho: Well, you now have to deal with that, who’s the moron now, uh?
Receiver: You are the moron, I am not authoritative, so YOU deal with that.
Autho: OK, OK, give me the context and I’ll deal with it.
Receiver: You want some context? Go ask your mama for context, you called me a moron, I’m giving you no fucking context! You go ahead ans suck my context, moron!

One hour later:

Autho: Hey Origin, I think you gave us an email for abc@xyz.com this morning?
Origin: That’s right, gave it to… I’m not sure who I gave it to, it was all so fast…
Autho: Yeah well, as it turns out, we might or might not have an account abc on domain xyz.com
Origin: What do you mean?
Autho: Yeah, well, just that…
Origin: Just what???
Autho: We might or might not have an account abc on domain xyz.com
Origin: You guys took the email, it is your responsibility now!
Autho: OK, OK We do NOT have an account abc on domain xyz.com
Origin: What a bunch of mailerfuckers…
Autho: So I’m returning the email to you…
Some SMTP server in the background: We haven’t even opened it yet.
Some other SMTP server in the background: -muted laughter-
Origin: What is the context of this error?
Autho: Context? what do you mean context?
Origin: Well, you are returning an email, for which you took responsibility for, I now need to get that email back to whom created it, it would be great if I can give them a reason why this all happen…
Autho: I don’t know what you are talking about, there is no such thing as “context”, take the email and go mail yourself! you moron…

1 Like

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.