I think you misunderstood how SMTP should work. Here is a simplified version:
The mail user agent (MUA) queues the message for delivery by sending it to the mail sending agent (MSA).
The MSA connects to the mail transfer agent ("smtp server") through SMTP.
The MTA then uses DNS to search for the MX record for the recipient domain. It then contacts the MX recipient server as an SMTP client.
The MX server accepts the envelope; He then forwards it to the mail delivery agent (MDA).
The MDA then places the envelope in some message store, where some IMAP or POP3 server reads the messages. The MUA then connects to these servers to receive the message.
The whole process uses three main commands. MAIL , RCPT and DATA .
MAIL = envelope information, failure addresses, etc.RCTP = Recipient.DATA = Payload.
The SMTP server responds - like HTTP actually, with error codes and, based on this, the MTA knows what to do with the envelope (bounce it back, so send the appropriate response, etc.)
There is no such thing as βreceive emailβ in this process (slightly ignoring ETRN ); since SMTP is for email only, not for retrieval.
source share