Suppression des messages boite mail.

ouzb Messages postés 63 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 17 juillet 2012 - 13 mars 2012 à 10:33
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 - 13 mars 2012 à 18:18
Bonjour à tous,
Je vais droit au but, j'ai développé une application pour supprimer les messages de ma boite mail en utilisant les sockets et le pop.
Mon problème que la commande DELE que j'utilise ne fait alors qu'elle est censée supprimer les messages.
Voici mon bout de code
// send status request and read response or die
fwrite($fp, "STAT\n");
$status = fgets($fp, 50);
$explode = explode(' ', $status);
$number = $explode[1];

$mail_array = array();

for($i=1;$i<=$number;$i++) {
fwrite($fp, "RETR $i\n");
while($line = fgets($fp)) {
$mail_array[] = trim($mail);
break;
}
}
}

for($i=1;$i<=$number;$i++) {
fwrite($fp, "DELE $i\n");
}

// shut down connection
fwrite($fp, "QUIT\n");
fclose($fp);


Merci d'avance

1 réponse

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
13 mars 2012 à 18:18
Salut,

Regarde donc les différentes RFC concernant POP :
All commands are terminated by a CRLF pair.

(source: RFC 1939)

Pourquoi termines-tu tes commandes par un simple LF ?

Ensuite, concernant la commande STAT :
- Visiblement tu confonds STATS avec LIST.
- Pourquoi limites-tu la lecture à 50 bytes et une seule ligne ? Et oui, bien qu'une réponse classique ne soit qu'une ligne assez courte, il est spécifié (mais fortement non-recommandé) qu'il est possibles que d'autres informations soient fournies : "More advanced implementations may include other information."

Bref, je te recommande vivement de mieux te renseigner sur pop et te familiariser avec. Ensuite, tu devrais vérifier/afficher les retours du serveur afin de débugger ton script.
0
Rejoignez-nous