Az elektronikus levelek továbbítására két program együttes használatával kerül sor. Az egyik a Mail User Agent (MUA), amely arra szolgál, hogy a felhasználó a levelét megszerkessze vele, és átadja értelmezésre és továbbításra a Mail Transport Agentnek (MTA). Az MTA feladata a levél "szintaktikai" ellenőrzése (pl. a fejléc megfelel-e az RFC822-ben előírtaknak), és továbbítása a címzett felé. Amennyiben a küldő és a címzett nem egy szerveren található, abban az esetben természetesen a távoli szerverrel való kapcsolat felépítéséért is felelős.
Általánosságban a következőképpen képzelhető el a dolog:
Tehát abban az esetben, ha a küldő és a címzett nem egy szerveren található, akkor a remote szerveren található MTA osztja szét a megfelelő hely(ek)re az elküldött leveleinket.
A levelek olvasására használt programok gyakorlatilag két részre osztják a levelet: egy fejlécre (header), és egy levél törzsre (body).
A levél törzse többnyire olvasható rész, magát az üzenetet tartalmazza. Kivétel természetesen, ha a küldő kódolta a leveleket (pl. PGP). Az is gyakran előfordul, hogy a küldő egy file-t csatol a levélhez. Ilyenkor sem biztos, hogy számunkra közvetlenül olvasható a levél ezen része. Például MIME vagy uuencode kódolás lehetséges.