We use a Cloud service for security scanning with our mailflow, we are using a smtp-call-ahead with it to identify existing addresses in Exchange online, this stopped working some weeks ago, because Exchange Online is handling those delivery attempts to non-existent addresses differently. The mails are often accepted for delivery and Exchange online creates the NDR, sometimes we can still see the old behaviour with a rejected delivery, I was able to reproduce the issue with telnet, I'm hoping to gather some information about when Exchange Online answers with 2.1.5 and when with 5.4.1 for addresses not existing...
telnet 104.47.9.36 25
Trying 104.47.9.36...
Connected to mail-ve1eur030036.inbound.protection.outlook.com.
Escape character is '^]'.
220 VE1EUR03FT006.mail.protection.outlook.com Microsoft ESMTP MAIL Service ready at Tue, 10 Nov 2020 21:24:33 +0000
ehlo -deleted-
250-VE1EUR03FT006.mail.protection.outlook.com Hello -deleted-
250-SIZE 157286400
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 SMTPUTF8
mail from: -deleted-
250 2.1.0 Sender OK
rcpt to: -deleted-
550 5.4.1 Recipient address rejected: Access denied. AS(201806281) [VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com]
quit
221 2.0.0 Service closing transmission channel
Connection closed by foreign host.
telnet 104.47.10.36 25
Trying 104.47.10.36...
Connected to mail-db5eur030036.inbound.protection.outlook.com.
Escape character is '^]'.
220 DB5EUR03FT054.mail.protection.outlook.com Microsoft ESMTP MAIL Service ready at Tue, 10 Nov 2020 21:25:06 +0000
ehlo -deleted-
250-DB5EUR03FT054.mail.protection.outlook.com Hello -deleted-
250-SIZE 157286400
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 SMTPUTF8
mail from: -deleted-
250 2.1.0 Sender OK
rcpt to: -deleted-
250 2.1.5 Recipient OK
quit
221 2.0.0 Service closing transmission channel
Connection closed by foreign host.