Un système de messagerie Internet contient les composants suivants :
Un UA est un programme que l'utilisateur emploie pour composer son message et l'envoyer à l'agent de routage (voir ci-dessous) pour l'injecter dans le système de messagerie.
Les UA typiques sous Unix vont du plus simple, mail à l'interface ligne rudimentaire, aux plus graphiques comme exmh avec X-Window et gestion de MIME (voir section 1.8), en passant par les plus perfectionnés comme mutt, digne successeur d'elm, intégrant des fonctionnalités très avancées.
Un UA permet également la lecture du courrier. C'est la phase finale. Il y a un UA à chaque extrémité du système de messagerie.
Un agent de routage reçoit un message. En fonction de l'adresse du destinataire, il décide de faire appel à un agent de transport de messages, dont le but est d'acheminer le message dans la direction du destinataire.
Les agents de routage sous Unix sont, entre autres, sendmail, smail, mmdf et postfix. Toutefois, le plus répandu est incontestablement sendmail.
Un agent de transport reçoit un message et une direction, et l'achemine à l'endroit indiqué. Il faut bien comprendre que l'agent de transport des messages ne prend pas de décision quant au routage. Cette décision lui est indiquée par l'agent de routage qui lui transmet le message.
Un agent de transport de messages est spécialisé pour un type de transmission. Par exemple, il y aura un agent de transport pour SMTP (le protocole utilisé sur l'Internet), un autre pour la remise physique du message (lorsque le courrier arrive dans la boîte aux lettres du destinataire), un troisième pour l'expédition vers un site UUCP, etc.
En terminologie sendmail, un agent de transport est appelé un mailer (bien qu'en terminologie Unix, on appelle traditionnellement mailer un UA).
Les agents de transport des messages typiques sous Unix sont sendmail(une partie de sendmailest dédiée au protocole SMTP), uucp pour l'acheminement vers un site UUCP, ou encore /bin/mail pour la remise physique.
Sur les systèmes Unix, une boîte aux lettres est simplement un fichier dans /var/mail/ (systèmes d'origine Berkeley) ou dans /usr/mail/ (systèmes d'origine System V). Dans un tel fichier, tout nouveau message débute par une ligne From (sans caractère « : »). Cette ligne, qu'on appelle souvent le « From Unix » sert à délimiter les différents messages.
Le monde de la messagerie sendmailrend assez difficile une perception nette de chacun de ces composants. En particulier, une confusion peut naître à cause des deux points suivants :
La terminologie X400 utilise le terme agent de transfert de messages (MTA) pour une notion qui regroupe, dans notre terminologie, les agents de routage et de transport.