Client POP3 en C

Résolu
titelily19 Messages postés 3 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 13 juin 2005 - 11 juin 2005 à 01:50
titelily19 Messages postés 3 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 13 juin 2005 - 13 juin 2005 à 00:13
Bonjour,

Je suis actuellement en train de coder un client POP3 en C et je me permets de poser cette question car je suis un peu bloquée.

En effet, je voudrais récuperer l'expéditeur et le sujet de chaque mail
en utilisant la commande RETR, la commande TOP de la RFC étant
optionnelle.

Simplement, je ne vois pas vraiment comment extraire ces deux champs de
mon message. Sscanf ne peut pas marcher, et étant débutante en C je ne
vois pas trop koi utiliser à la place...

J'attends votre aide,

Merci beaucoup

Titelily :)

4 réponses

cs_magma Messages postés 198 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 18 mars 2011
12 juin 2005 à 14:52
//------------------------------------------------------
// Explication:
//------------------------------------------------------
message est le contenu du message obtenu avec RETR ou TOP
champs est le champs à récupérer dans le message
resultat contiendra le résultat de la recherche

//------------------------------------------------------
// Fonction de recherche
//------------------------------------------------------
int Cherche(char *message, char *champs, char *resultat)
{
int i;
char *p = (char *)strstr(message, champs);

if(p)
{
p += strlen(champs);

for(i = 0; *p != '\n'; i++)
resultat[i] = *p++;

resultat[i] = '\0';
return 1;
}

*resultat = '\0';
return 0;
}



//------------------------------------------------------
// Exemples d'utilisation:
//------------------------------------------------------
char message[???];
char resultat[128];

if(Cherche(message, "From: ", resultat))
printf("\nExpediteur: %s\n", resultat);

Cherche(message, "Subject: ", resultat))
printf("\nSujet: %s\n", resultat);
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
11 juin 2005 à 12:30
Les chaines que tu recois en réponse à RETR et TOP sont de quelles formes ?
DOnne moi des exemples et je ferai les ptites fonction qui vont bien avec.

Shell
0
titelily19 Messages postés 3 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 13 juin 2005
11 juin 2005 à 13:04
voilà, ca resssemble à ca

+OK 391 octets

Return-Path: griselda

Received: (from griselda@localhost)

by arjuna.mindflip.com (8.9.3/8.9.3) id DAA84577

for matthew; Tue, 12 Oct 1999 03:19:21 GMT

(envelope-from griselda)

Date: Tue, 12 Oct 1999 03:19:21 GMT


From: Test User

<griselda>
Message-Id: <199910120319.DAA84577@arjuna.mindflip.com>


To: matthew


Subject: Test
X-UIDL: 858de06153a9e0e3c235a4a54c4f56d3


Status: RO



This is a test.

Et je dois donc récupérer l'expéditeur et le sujet.

Voilà,

merci :) </griselda><griselda></griselda>
0
titelily19 Messages postés 3 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 13 juin 2005
13 juin 2005 à 00:13
Ca marche nickel, Merci beaucoup!

Titelily :)
0
Rejoignez-nous