I have an odd scenario with two mail servers communicating with one another and need help determining which one is behaving correctly.
It's a little complicated to explain, so I think a SMTP conversation is probably the easiest way to describe it. In this scenario, mailserver1.foo.com is trying to pass a message to securityappliance.foo.com.
SMTP workflow looks like this:
220 securityappliance.foo.com ESMTP Sendmail 8.14.4/8.14.4; Tue, 6 Mar 2018 14:21:53 -0800 EHLO mailserver1.foo.com 250-securityappliance.foo.com Hello mailserver1.foo.com [188.8.131.52], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-DELIVERBY 250 HELP MAIL FROM:<email@example.com> 250 2.1.0 <firstname.lastname@example.org>... Sender ok RCPT TO:<email@example.com> 250 2.1.5 <firstname.lastname@example.org>... Recipient ok DATA 354 Enter mail, end with "." on a line by itself X-Example-Header-Blah: Blah From: <email@example.com> To: <firstname.lastname@example.org> Subject: Message #1. I expect this to fail and am not concerned about that. Extra text/attachments. . 550 5.3.0 Requested action on message failed; message rejected MAIL FROM:<email@example.com> 557 5.3.0 Milter Implementation Error: Invalid argument passed
So, we have two messages that were being delivered in single-file as part of the same SMTP connection. The first message results in a 550 error (we know why that happened). The upstream mail server then immediately submits another
MAIL FROM: command and that gets rejected (because the security appliance thinks it's part of the same transaction.
Does the upstream server need to issue a
RSET command before sending the completely separate message? Or should the receiving security appliance understand that the email is completely different and not consider it a part of message #1?
I hope this makes sense. I'll be happy to clarify. I'm trying to determine which end-entity is in the right so I can engage the appropriate support resource.