Email is transmitted as plain text across networks around the world using the SMTP protocol (Simple Mail Transfer Protocol). As the name implies, the protocol itself is fairly basic, and it has been extended to add further authentication and error reporting/messaging to satisfy the growing demands of modern email. Mail transfer agents, or MTAs, work in the background transferring email from server to server allowing emails to be sent all over the world. You may have come across such MTA software such as Sendmail, Postfix, Fetchmail, Exim, or Qmail.
SMTP allows each computer that the email passes through to forward it in the right direction to the final destination. When you consider the millions of email servers across the world, you have to marvel at how simple it all seems.
Here is a simplified example of how email is successfully processed and sent to its destination:
2. The MTA at hudson.org receives Andrew's email message and queues it for delivery behind any other messages that are also waiting to go out.
3. The MTA at hudson.org contacts the MTA at hudzilla.org on port 24. After hudzilla.org acknowledges the connection, the MTA at hudson.org sends the mail message. After hudzilla.org accepts and acknowledges receipt of the message, the connection is closed.
4. The MTA at hudzilla.org places the mail message into Paul's incoming mailbox; Paul is notified that he has new mail the next time he logs on.
Of course, several things can go wrong during this process. Here are a few examples:
What if Paul does not exist at hudzilla.org? In this case, the MTA at hudzilla.org will reject the email and notify the MTA at hudson.org of what the problem is. The MTA at hudson.org will then generate an email message and send it to [email protected], informing him that no Paul exists at hudzilla.org (or perhaps just silently discard the message and give the sender no indication of the problem, depending on how the email server is configured).
What happens if hudzilla.org doesn't respond to hudson.org's connection attempts? (Perhaps the server is down for maintenance.) The MTA at hudson.org notifies the sender that the initial delivery attempt has failed. Further attempts will be made at intervals decided by the server administrator until the deadline is reached, and the sender will be notified that the mail is undeliverable.
Was this article helpful?