Le protocole SMTP (Simple Mail Transfer Protocol) est définit par la RFC 821. C'est grâce à ce protocol que les serveurs de mél peuvent communiquer entre eux, quelque soit leur origine. Le but de ce protocole est de
transférer du courrier électronique selon un procédé efficace et fiable.
SMTP est indépendant de tout sous-système de transmission et ne nécessite
qu'un canal de transmission fiable et ordonné.
Le design de SMTP est basé sur le modèle suivant de communication : suite à une
requête de l'utilisateur du courrier user, l'émetteur SMTP établit une
communication bidirectionnelle vers un récepteur-SMTP. Celui-ci peut être soit
la destination finale, soit seulement un intermédiaire. Les commandes SMTP sont
générées par l'émetteur SMTP et sont émises vers le récepteur SMTP. Les réponses SMTP sont envoyées par le récepteur-SMTP à l'émetteur-SMTP en réponse aux
commandes.
Une fois le canal de transmission établi, l'émetteur SMTP envoie une commande
MAIL
mentionnant l'émetteur d'un courrier. Si le récepteur SMTP peut accepter le courrier, il répondra par un message OK
. L'émetteur-SMTP envoie alors une
commande RCPT
identifiant un récipiendaire pour ce courrier. Si le
récepteur-SMTP peut accepter un courrier pour ce récipiendaire, alors il
répondra par un message OK
; sinon, il répond par un message refusant le courrier pour ce récipiendaire (mais n'annulant totalement pas la transaction de
courrier). L'émetteur SMTP et le récepteur SMTP pourront négocier plusieurs
récipiendaires. Une fois cette négociation effectuée, l'émetteur SMTP envoie le
contenu du courrier, en le terminant par une séquence spéciale. Si le récepteur
SMTP traite avec succès la réception du contenu du courrier, il répondra par un
message OK
. Le dialogue est volontairement un dialogue pas à pas, à étapes
verrouillées.