The process of sending an email over the internet involves several steps, each guided by specific protocols within the TCP/IP suite. Here's a step-by-step look at how it works:
Composition: The process begins when you compose an email on your email client, which could be a web-based interface like Gmail, a standalone application like Outlook, or a command line tool such as mutt in Linux.
SMTP (Simple Mail Transfer Protocol): Once you hit the "send" button, your email client hands over the email to a server running SMTP. This protocol is responsible for outbound mail transport. The client communicates with the SMTP server using commands like EHLO (extended hello), MAIL FROM, RCPT TO, DATA, and QUIT.
DNS (Domain Name System) Lookup: Next, the SMTP server needs to find the correct server to which it should send the email. It uses the domain of the recipient's email address (the part after the '@' symbol) to perform a DNS MX record lookup. The MX record specifies the mail server authorized to accept emails for that domain.
Establishing Connection: Once the MX record is obtained, the sender's SMTP server initiates a connection with the recipient's mail server. The connection is usually made over port 25, the default SMTP port. In modern systems, this connection is often secured using TLS/SSL encryption.
Email Handover: The sending server then forwards the email to the receiving server, again using SMTP protocol commands.
Delivery to Inbox: Once the receiving server has accepted the email, it is then routed to the recipient's mailbox via protocols like POP3 (Post Office Protocol 3) or IMAP (Internet Message Access Protocol). POP3 allows the email client to download the email for local storage, whereas IMAP synchronizes the email between the client and server, allowing access from multiple devices.
Email Retrieval: Finally, the recipient opens their email client and retrieves the email. Depending on the client's settings and the protocol (POP3 or IMAP), the message might be left on the server or deleted after download.
It's worth noting that throughout this process, multiple checks are performed to minimize spam and enforce security. These may include DKIM (DomainKeys Identified Mail) for email authenticity, SPF (Sender Policy Framework) for sender validation, and DMARC (Domain-based Message Authentication, Reporting and Conformance) for unifying SPF and DKIM under one policy.
This is a high-level view of how the process works. Each step involves many technical details, which I've omitted for brevity, but I'd be happy to delve deeper into any particular part of the process if you're interested.
Electronic Email
Email is an abbreviation for "electronic mail." An email is an electronic
message transferred from one computer user to another. The message can be simple text, or complex documents with images, video, or sound clips.
Like paper mail, email has both destination and return addresses.
The syntax for an email address is user@domain, where each domain (such as "redhat.com") can have any number of users.
Email Addresses
A user in an email address doesn't have to be a
single, real person. A user can be a group of people or a program attached to the address.
Usually, email address domains are Fully-Qualified Domain Names (FQDN)[1] . These domains point to a unique computer on the Internet that is responsible for the user's email. For example, "[email protected]" is roger's mailbox on the computer work station0.domain.com. Special information in the Domain Name System (DNS) abbreviates email address domains to just domain names. This information, known as
Mail Exchanger (MX)[2] records and describes which host in a network is responsible for handling all that network's email.
For example, [email protected] could be an abbreviated email for [email protected], made possible by MX records[3]
Transferring email
The Simple Mail Transfer Protocol (SMTP)[4] , and its updated cousin the Extended Simple Mail Transfer Protocol (ESMTP)[5] , transfer email between computers. When
you send an email, you connect to your local email handler, supplying the email you want to send. Your local email handler then connects to the
recipient's local email handler, and transfers your mail. The recipient's local email handler routes the mail internally, as necessary.
This two-server architecture has several advantages. First, your local relay can queue email and automatically reattempt delivery if the remote server is unavailable. Second, the local relay can help prevent local users from trivially forging email, and can help maintain better audit logs.
The next lesson describes email agents.
Internet Email - Quiz
Before you move to the next lesson, click the Quiz link below to check your understanding of email concepts. Internet Email - Quiz
[1](SMTP) Simple Mail Transfer Protocol: The Internet's fundamental mail transfer protocol.
[2](FQDN) Fully-Qualified Domain Names: A domain name that has all required DNS information: the host, network, and top-level domain.
[3]Mail Exchanger(MX): A special host designated to handle all the network's email.
[4]MX records: Records in the DNS that describe which host handles mail for a given domain.
[5](ESMTP) Extended Simple Mail Transfer Protocol: An extension of SMTP, ESMTP is a ubiquitous protocol for email transfer