Journeys

How an email gets delivered

From a composed message to your inbox: the message format, submission, server-to-server delivery, mailbox access, and the checks that stop forgery.

  1. 01

    Write the message Message format and MIME

    An email is a block of header fields followed by a body. The message format defines the headers and MIME lets the body carry attachments and non-ASCII text.

    RFC 5322 Internet Message FormatRFC 2045 MIME Part OneRFC 2046 MIME Media TypesRFC 2047 MIME Header Extensions

  2. 02

    Hand it to your provider Message submission

    Your mail app submits the message to your provider on a dedicated submission service, usually after authenticating, rather than sending directly to the recipient.

    RFC 6409 Message Submission for MailRFC 4954 SMTP Authentication

  3. 03

    Relay it to the recipient SMTP

    Servers find the recipient domain's mail server and pass the message along with SMTP, hop by hop, until it reaches the destination mailbox.

    RFC 5321 SMTP

  4. 04

    Read it from your inbox POP3 and IMAP

    The mail you receive sits on a server until you fetch it. POP3 downloads messages and IMAP keeps them on the server and synchronizes folders and flags.

    RFC 1939 POP3RFC 9051 IMAP4rev2

  5. 05

    Prove it is genuine SPF, DKIM and DMARC

    Receivers check whether the sending server is allowed to use the domain, whether the message carries a valid signature from that domain, and what the domain owner wants done when a check fails.

    RFC 7208 SPFRFC 6376 DKIMRFC 9989 DMARCRFC 9990 DMARC Aggregate ReportingRFC 9991 DMARC Failure Reporting

  6. 06

    Protect it on the wire Transport encryption

    Mail started out in cleartext. STARTTLS upgrades SMTP connections, current guidance prefers TLS from the first byte for submission and access, and MTA-STS lets a domain say that TLS is required.

    RFC 3207 STARTTLS for SMTPRFC 8314 Use TLS for Email Submission and AccessRFC 8461 MTA-STS