The email address is two parts: the
name@domain.com.
Everything on the left side of the "@" is the responsibility of the host mail server (where you pick up your mail).
Everything on the right of the "@" is the domain, and is registered within the system of DNS servers.
Assume the mail address is
John@doe.someplace.com.
You start by working backwards. If the DNS used by the sender's machine doesn't know the address, it sends a query to the ".com" root server ... who is supposed to know every ".com" address registered on the Internet.
The ".com" root server finds the next step (the "someplace" field) gets an IP address for that domain's "local" DNS, and sends a request for addressing to the "doe" subdomain, and the mail server's address.
The DNS responsible for the "doe.someplace.com" server (the "authoritative" DNS) sends the addressing back to the root, who passes it to the DNS original requesting DNS (for the mail-sender's machine), who passes it to the IP stack of the mail-sending machine. Then some IP address resoultion stuff happens, some SMTP stuff happens, the mail packet(s) are addressed to the destination mail server, and it hits the wire and get's routed to the destination mail server.
The actual mechanism for transmittal is handled by smtp; "Simple" Mail Transfer Protocol, which handles the actual dialog for moving the mail once the addressing is determined. Since you seemed to be more interested in the addressing aspect than the actual movement of mail packets, that's what I tried to cover.
Once it arrives in the destination's domain/subdomain mail server, it looks up "john" and parks the mail until it is retrieved using any of several mail protocols (like POP).
Standard Disclaimer: Some information bent, folded, spindled , or mutilated for the sake of brevity and general clarity.
FWIW
Scott