Sessions SMTP




  1. Introduction

SMTP signifie "Simple Mail Transfer Protocol", c'est à dire que c'est le protocole utilisé pour l'envoi de mail. la RFC associée est la 821 (lien vers la RFC en Anglais).

Dans cette page, nous allons vois des exemples de sessions SMTP, les différentes commandes et les codes de retour.



  2. Commandes

CommandeFonctionExemple
EHLO Initialise la connexionEHLO wanadoo.fr
HELO Initialise la connexionHELO wanadoo.fr
MAIL FROM Champs FROM du mailMAIL FROM:<nospam@mail.com>
RCPT TO Champs destination du mailRCPT TO:<nospam@mail.com>
DATA Démarre la saisie du messageDATA
RSET Réinitialise la connexionRSET
VRFY Vérifie l'existence d'un utilisateur et renvoit son nom complet. Cette fonction est souvent désactivéeVRFY mon_compte
EXPN Vérifie si le compte est celui d'une mailing list et renvoit la liste des membresEXPN ma_liste
HELP Affiche l'aide, si possibleHELP EXPN
NOOP Permet de garder la connexion activeNOOP
QUIT Clos la connexionQUIT
TURN Permet d'intervertir le serveur d'envoi de mail et celui de receptionTURN



  3. Exemples



  3. 1. Exemple d'envoi de base

Attention, tous les serveurs SMTP n'accepterons pas ce genre de commande. Vous pouvez essayer celui de votre fournisseur d'accès, souvent il fonctionne. Sinon, le test que j'ai fait était avec Wanadoo :
telnet smtp.wanadoo.fr 25
220 mwinf0502.wanadoo.fr ESMTP ABO **************************
HELO wanadoo.fr
250 mwinf0502.wanadoo.fr
MAIL FROM:<nospam@mail.com>
250 Ok
RCPT TO:<nospam@mail.com>
250 Ok
data
354 End data with <CR><LF>.<CR><LF>
Test d'envoi de mail

Je peux saisir ce que je veux de toute façon

.

250 Ok: queued as 12A36E8003D4
QUIT
221 Bye



  3. 2. Exemple d'envoi avec en-tête (cc...)

Attention, tous les serveurs SMTP n'accepterons pas ce genre de commande. Vous pouvez essayer celui de votre fournisseur d'accès, souvent il fonctionne. Sinon, le test que j'ai fait était avec Wanadoo :
telnet smtp.wanadoo.fr 25
220 mwinf0502.wanadoo.fr ESMTP ABO **************************
HELO wanadoo.fr
250 mwinf0502.wanadoo.fr
MAIL FROM:<nospam@mail.com>
250 Ok
RCPT TO:<nospam@mail.com>
250 Ok
RCPT TO:<nospam@mail.com>
250 Ok
data
354 End data with <CR><LF>.<CR><LF>
To: nospam@mail.com
CC: nospam2@mail.com
From: nospam@mail.com
Reply-to: nospam@mail.com
Subject: Test d'envoi de mail

Je peux saisir ce que je veux de toute façon

.

250 Ok: queued as 12A36E8003D4
QUIT
221 Bye

Attention, il faut mettre les 2 adresses en "RCPT TO" (une adresse par ligne), et la partie header (après le "data") n'est la qu'à titre informative pour votre logiciel de lecture de mail. C'est à dire que vous pouvez envoyer un mail à plusieurs personnes, si vous ne mettez pas la valeur dans le "cc", elles recevront le mail, mais ne se veront pas mutuellement (principe du "bcc"). Au même titre, vous pouvez mettre plusieurs personnes dans la ligne "cc:", si vous n'avez pas écrit leur adresse après un "RCPT TO:", elles ne le recevront pas !

Le header est décorélé de l'envoi réel des mails.



  4. Code de retour

Code de retourDescription
211Status du système ou réponse à la commande HELP
214Message d'aide
220Connexion établie avec le serveur
221Connexion fermée par le serveur à la demande du client
250Commande passée bien executée
251L'utilisateur n'est pas local
354Commencer l'écriture du mail (finir avec un <CRLF>.<CRLF>
421Domaine non accessible
450Boite aux lettres inaccessible
451Action annulée : Erreur local dans le traitement de la demande
452Action non réalisée du à un problème de taille
500Erreur de syntaxe : commande non reconnue
501Erreur de syntaxe : parametres ou arguments inconnus
502Commande non implémentée
503Mauvaise séquence de commandes
504Paramètre de commande non implémenté
550Action non réalisée : boite aux lettres inexistante
551Utilisateur non local
552Action annulée : problème d'espace disque
553Action non réalisée : boite aux lettres non trouvée ou interdite
554Envoi impossible



  5. Légende

en vert : la commande que vous saisissez dans l'outil telnet
en bleu : la réponse à votre commande





Page modifiée le : 04/10/2024


Valid XHTML 1.0 Transitional