Delphipage - la reference en Delphi
Accueil - Astuces - Composants - Programmes - Tutoriaux - Livres - Liens
 Sources
- Astuces
- Composants
- Programmes
- Tutoriaux
 Rechercher
- Delphipage
- Ngscan
 Ressources
- Lexique Delphi
- Livres
- News
- Patchs Delphi
 Liens
- Borland France
- CodeGear
- Les meilleurs sites


Tutoriaux - Indy - Récupèrer les sujets de vos emails

Présentation

Vous allez maintenant créer votre premier programme en utilisant les composants Indy. L'exemple de programmation a pour but de récupèrer les sujets de vos emails.


Conception visuelle du programme

Pour commencer, ajoutez dans votre form, un composant TGroupBox, TListBox et TButton. Disposez ses composants comme ci-dessous.




Ensuite, ajoutez un composant TIdPOP3 de l' onglet "Indy Clients" de la palette de composants de Delphi et un composant TIdMessage de l'onglet "Indy Misc".
Le composant TIdPOP3 permet de récupèrer des emails sur un serveur mail en utilisant le protocole POP3 (Post Office Protocol version 3) et le composant TIdMessage encapsule les messages Internet.

Puis, modifiez la propriété "Caption" de la form en mettant "Exemple avec le composant TIdPOP3". Modifez la propriété "Caption" du composant TGroupBox en insérant "Récupère les sujets des emails". Modifiez le "Caption" du composant TButton en mettant "Connexion".

La partie visuelle est à présent terminée. On passe maintenant à la partie code du programme.
Cliquez deux fois sur le composant TButton pour activer l'événement "OnClick" de celui-ci.



Connexion

Pour se connecter à un serveur POP3, il faut spécifier 4 paramètres : l'hôte, le port, le nom d'utilisateur et le mot de passe.

IdPOP31.Host:='xxxx'; //Hôte (par exemple pour Free: pop.free.fr)
IdPOP31.Username:='xxxx'; //Nom d'utilisateur
IdPOP31.Password:='xxxx'; //Mot de passe
IdPOP31.Connect; //Connexion

Par défaut, le port de communication vaut 110.


Récupèrer les sujets des emails

Pour récupèrer les sujets des emails, on a alors besoin du composant TIdMessage.
Pour commencer, on effectue une boucle pour traiter tous les emails.

Var i:integer;

for
i:=1 to IdPOP31.CheckMessages do //CheckMessages donne le nombre d'emails contenu sur le serveur POP3
begin
IdMessage1.Clear; //Efface l'entête et le corps du message
IdPOP31.RetrieveHeader(i, IdMessage1); //Récupère l'entête du message d'indice "i"
ListBox1.Items.Add(IdMessage1.Subject); //Ajoute dans la listbox le sujets de l'email actif
end;

Grâce à l'indice "i", on récupère le sujet de chaque email dans un composant TListBox.



Déconnexion

Pour se déconnecter du serveur POP3, il suffit d'utiliser la méthode "Disconnect".

IdPOP31.Disconnect; //Déconnexion

Voici le code source complet du programme.

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
Screen.Cursor:=crHourGlass; //Affiche le curseur sablier
IdPOP31.Host:='xxxx';
IdPOP31.Username:='xxxx';
IdPOP31.Password:='xxxx';
IdPOP31.Connect;
for i:=1 to IdPOP31.CheckMessages do
begin
IdMessage1.Clear;
IdPOP31.RetrieveHeader(i, IdMessage1);
ListBox1.Items.Add(IdMessage1.Subject);
end;
IdPOP31.Disconnect;
Screen.Cursor:=crDefault; //Affiche le curseur par défaut
end;

L'opération dure quelques secondes selon le nombre d'email. Pour indiquer à l'utilisateur que l'opération est cours, on change le curseur de souris en sablier puis on remet le curseur par défaut lorsque cela est terminé.

Récupèrer les sujets des emails    [ 22-07-2003 ]
 Exemple d'utilisations du composant TIdPOP3 et TIdMessage.
Télécharger :  [6 Ko] [Télécharger tidpop3.zip]

Auteur : Yoann
Site internet :
http://delphipage.free.fr/

Tous droits réservés - Contacts
Haut de la page