Why mail clients do not use directly the SMTP server of recipient

dnsemailemail-clientsmtp

Normally in a email client you need to configure an SMTP server to use to send mails.
When you send a mail, your configured SMTP server simply resolve the domain after the @at in the email address of the recipient with a DNS request of type MX. The DNS will answer with the address of the mail exchanger SMTP server of the recipient's mail provider, and your SMTP server will forward your mail to it.

My question is: why this is not done directly by the mail client? It is nothing special: it is just a DNS mx request and the protocol do deal directly with the mail exchanger of the recipient provider is alaways SMTP.

If it were so, the mail could go directly to the right server: it should be faster and avoid useless traffic.

May this be due to the fact that maybe the recipient's SMTP server could be down for some reason or too busy to process the mail when you send it, and that therefore the advantage of use our personal SMTP server is that it takes care to try again to send the mail at regular intervals?

This is the only reason I see: actually it would be not so practical if this would be responsibility of the mail client, since maybe the user close it or shutdown the computer.

If this is the only reason: does it happen so often that an SMTP server is unable to process an email immediately?

Best Answer

One possible reason is that the sender might simply be unable to reach the recipient's mail server directly.

In the early days of email & SMTP, you had more than just Internet – you had Bitnet; UUCPnet/Usenet; Berknet; MILNET; DECnet; etc. all using incompatible protocols. A domain like sri-unix.uucp might not have had an IP address in DNS – only a MX record pointing to a gateway (a SMTP server that also had UUCP links).

These days, a similar situation is with communications between IPv4-only and IPv6-only hosts (even though the latter are somewhat rare).

Besides, the networks weren't exactly reliable (and still aren't) – you wouldn't want to stare at a "Recipient's mail server is unreachable, please wait" for half an hour, when you could just give the message to a sendmail running 24/7 on the same computer that you were composing the message on, and continue with work.


Bonus: some really weird "From:" addresses I've seen on OldUse.Net:

  • UCBVAX.@MIT-MC.@rand-relay.ARPA.goldfarb.UCF-CS@RAND-RELAY

  • farber%udel-eecis1.udeecis@udel-ee@sri-unix.UUCP

  • notes@CSvax:Pucc-H:pur-phy.UUCP

  • utzoo!linus!security!genrad!decvax!harpo!floyd!whuxlb!pyuxll!abnjh!u1100a!pyuxn!pyuxi!mhuxm!mhuxd!mhuxa!houxm!hocda!spanky!burl!akgua!emory!sb6!sb1!ll1!otuxa!we13!ihnp4!ixn5c!inuxc!pur-ee!uiucdcs!mcewan

Related Question