• Aucun résultat trouvé

Protocole SMTP en JAVA

N/A
N/A
Protected

Academic year: 2022

Partager "Protocole SMTP en JAVA"

Copied!
2
0
0

Texte intégral

(1)

Universit´ e Paris Diderot – Paris 7 Programmation r´ eseau L3 Informatique Ann´ ee 2012-2013, 2 ` eme semestre

TP n 8

Protocole SMTP en JAVA

Introduction

SMTP pour “SIMPLE MAIL TRANSFER PROTOCOL” d´ efinit les r` egles ` a suivre pour qu’un Email soit transmis, d’un ordinateur client (qui veut envoyer un Email) ` a un serveur (qui se charge de envoyer le mail au destinataire). L’en- voi d’Email est bas´ e sur le principe suivant : un client SMTP fait une requˆ ete d’exp´ edition d’Email que le serveur SMTP accepte. Ce serveur peut ˆ etre la des- tination finale ou peut n’ˆ etre qu’un interm´ ediaire. Les commandes SMTP sont g´ en´ er´ ees par le client SMTP et sont destin´ ees au serveur SMTP. A chaque ´ etape le serveur envoie une r´ eponse pour signaler si la commande a ´ et´ e ex´ ecut´ ee correc- tement.

La proc´ edure classique d’envoi d’Email :

1. Client SMTP : Envoi de la commande MAIL indiquant qui envoie l’Email (remarquer qu’il est tout ` a fait possible de vous faire passer pour un autre).

2. Serveur SMTP : Si le serveur peut accepter des Email, il r´ epond OK.

3. Client SMTP : Envoi de la commande RCPT indiquant ` a qui l’Email est destin´ e.

4. Serveur SMTP : Si le serveur accepte un Email avec cette adresse de desti- nataire, il r´ epond encore OK. Sinon, il r´ epond avec un code de rejet mais la transaction n’est pas rejet´ ee au complet, simplement ce destinataire.

5. Client SMTP : ´ Eventuellement, le client envoie d’autres adresses Email.

6. Client SMTP : Envoi de la commande DATA pour indiquer que le client va envoyer le contenu du mail. Pour marquer la fin de l’Email, le client enverra une s´ equence sp´ eciale de caract` eres (. tout seul sur une ligne).

7. Serveur SMTP : Renvoie un OK s’il a bien re¸ cu l’Email qu’il doit envoyer au destinataire.

Les commandes de bases :

– Commande HELO : est utilis´ ee pour ouvrir la connexion entre le client et le serveur et d’autre part, pour identifier la machine client aupr` es du serveur SMTP.

Syntaxe :

HELO hostname

o` u hostname est le nom de la machine client (l’hˆ ote ` a partir duquel vous vous connectez)

1

(2)

– Commande MAIL : indique au serveur de Mail qu’une nouvelle transaction viens de commencer. Cette information permet d’identifier l’exp´ editeur de l’Email. Si le serveur accepte l’adresse de l’exp´ editeur, il renvoie un OK avec le code 250.

Syntaxe :

MAIL FROM: exp´ editeur

o` u exp´ editeur est l’adresse Email de l’auteur du message.

– Commande RCPT : pour indiquer un destinataire du Email. Si le destinataire est accept´ e par le serveur, il renvoie le code 250. Il est possible d’avoir plu- sieurs destinataires pour un mˆ eme Email, pour cela, il suffit de r´ ep´ eter cette commande autant de fois que n´ ecessaire.

Syntaxe :

RCPT TO: destinataire

o` u destinataire est l’adresse Email du destinataire du message.

– Commande DATA : indique que toutes les lignes qui suivront jusqu’` a la s´ equence de caract` eres qui mettra fin au corps du message (le caract` ere

.

tout seul sur une ligne) feront partie du message Email ` a envoyer. Le serveur renvoie le code 354 comme r´ eponse(s) interm´ ediaire(s), ceci corres- pond ` a un OK ; un deuxi` eme OK (avec le code 250) sera donn´ e apr` es la s´ equence de fin du corps du message, ceci signifie que le serveur ` a bien re¸ cu le message Email qu’il doit envoyer au(x) destinataire(s). Le message Email peut commencer par zero, un ou plusieurs champs d’en-tˆ ete de la forme :

Date:

,

Subject:

,

To:

,

Cc:

,

From:

. Syntaxe :

DATA

– Commande QUIT : Permet de clˆ oturer la session courante et de fermer les voies de communication entre le client et le serveur. Cette commande renvoie un OK avec le code 221.

Syntaxe :

QUIT

Remarque : Vous avez d´ ej` a rencontr´ e le protocole SMTP au cours du TP1.

Exercice 1 [Client SMTP]

Ecrivez un programme Java ´ jmailer qui

1. se connecte au service smtp du serveur lucien, 2. envoie un courrier ´ electronique

3. lit et affiche les r´ eponses du serveur (une r´ eponse d’une ligne par “ordre”) N’oubliez pas de traiter les codes de retour attendus et d’afficher un message d’erreur s’ils ne correspondent pas au bon comportement.

2

Références

Documents relatifs

Un serveur HTTP peut gérer des documents dynamiques : Tout le contenu est calculé (généré) par le serveur, format- té en HTML, transmis au client. Exemple: serveurs de recherche

configurer des ordinateurs clients pour l'obtention automatique des adresses IP, vous devez créer un serveur DHCP en installant le service Serveur DHCP sur un ordinateur

Pour réaliser votre envoi, vous pouvez choisir de passer par votre propre serveur SMTP ou bien d'emprunter l'un de ceux dédiés à l'application. Nos serveurs SMTP ne font

Développer maintenant ce réseau en ajoutant un troisième ordinateur qui sera un serveur (donc utilisez l’icône serveur) appelé serveur 0.12 avec l'adresse IP 192.168.0.12..

De façon informelle, cette règle signifie qu'un serveur d'invocation qui veut sortir rapidement de la boucle devrait envoyer un message DWSS immédiatement suivi d'un message DWSR ;

De façon informelle, cette règle signifie qu'un serveur d'invocation qui veut sortir rapidement de la boucle devrait envoyer un message DWSS immédiatement suivi d'un message DWSR ;

Le présent document propose une extension au protocole simple de transfert de messagerie (SMTP, Simple Mail Transfer Protocol) pour un équivalent dans la messagerie électronique

Le présent mémoire définit une extension au service du protocole simple de transfert de messagerie (SMTP, Simple Mail Transfer Protocol) qui permet au client SMTP de spécifier (a)