[BlueOnyx:25539] Re: Error message while sendung to gmail

Michael Stauber mstauber at blueonyx.it
Wed Jul 27 14:06:41 -05 2022


Hi Dirk,


> we have received an error message from a customer that he gets when he 
> specifies several different gmail recipients in one email:
> 
>      ----- Transcript of session follows ----- 
> ... while talking to gmail-smtp-in.l.google.com.:
> 
>  >>> DATA
> 
> <<< 451-4.3.0 Multiple destination domains per transaction is unsupported.
> 
> I assume this has to do with the fact that sendmail connects once to the 
> MX when the domain is the same and then transmits all mails to the same 
> domain and gmail seems to like that not (anymore?).
> 
> Is there any way to change the setting in sendmail or is a solution to 
> switch from sendmail to postfix?


Yeah, this is basically Google being assholes. The proper fix would be 
for them to behave like a good netizen, but that probably would be too 
much to ask for.

What's happening here is this:

If you have an email that goes to multiple recipients and more than one 
of the recipients of that email has a Gmail account?

In that case Google shows you the middle finger, as they don't allow the 
same email going to more than one recipient in the same transaction.

So what can you do on your end? In sendmail.mc one could insert the 
lines ...

define(`SMTP_MAILER_MAXRCPTS', `1')dnl
define(`RELAY_MAILER_MAXRCPTS', `1')dnl

... before these ...

MAILER(`local')dnl
MAILER(`smtp')dnl

... and that limits Sendmail to send emails to multiple receivers. From 
the Sendmail cf/README:

--------------------------------------------------------------------
SMTP_MAILER_MAXRCPTS [undefined] If defined, the maximum number of
recipients to deliver in a single connection for the
smtp, smtp8, esmtp, or dsmtp mailers.

confMAX_RCPTS_PER_MESSAGE MaxRecipientsPerMessage
[infinite] If set, allow no more than
the specified number of recipients in
an SMTP envelope. Further recipients
receive a 452 error code (i.e., they
are deferred for the next delivery
attempt).
--------------------------------------------------------------------

Side effects: You're crippling your mail-server and are shooting 
yourself in the foot. This will force your MTA to make one bloody 
connection for every bloody email it tries to send. If an email has 100 
recipients, then in the past that was broken down to one delivery 
attempt to all (or batched to as few as possible). Now it means 100 
individual attempts.

Performance wise this will mean your email performance takes a big hit 
and delivery gets slowed down. And then you will have clients 
complaining and reminding you that ...

"When I use my Google email account I *NEVER* have these kind of 
problems! It's only with *YOUR* server!" \o/

Ain't that cute? But it's even worse:

https://support.google.com/mail/answer/81126?hl=en

https://twitter.com/erdgeist/status/1532714091269201920

https://www.spamresource.com/2020/11/honestly-dont-send-to-gmail-over-ipv6.html

Read especially the last link.

Google is using reputation based filtering. If you set up a new server 
which happens to use IPv4 and IPv6 and try to send email to Google? 
You're basically doomed. They won't accept it. Even if you don't use 
IPv6 and the mail-server is new? You don't have a reputation with them 
yet, so there is a high chance you're not getting through. And even if 
you do: Any kind of moderate initial volume of emails from you to Gmail 
will directly raise red flags on their end, tainting your reputation.

Bottom line: They're not playing nice and are piss poor neighbors that 
try to force you to play by their arbitrary rules. And complying with 
their rules will hurt you.

Will switching to Postfix help? It doesn't solve the reputation issue 
with Gmail or other fuckery, but Postfix queues a little different, so 
it *might* help a little with that particular problem.

-- 
With best regards

Michael Stauber



More information about the Blueonyx mailing list