OVH Cloud OVH Cloud

problem pop3!! please help

15 réponses
Avatar
WebRod
Bonjour,

je n'y comprends rien.
Lorsque j'utilise par exemple la methode Net_POP3 de PEAR pour faire une
connexion pop3 sur ma messagerie et récupérer les UIDL, ceux-ci changent
avec le temps!!!

Je deviens fou!
je n'arrive toujours pas à trouver un moyen de savoir parmi tous les emails
du serveur ceux que je n'ai pas encore récupéré!
J'avais fait mon script basé sur les UIDL (je les stockes tous et les
compare 1 par 1 et je ne récupère que les emails dont les UIDL sont
nouveaux).
Ca marchait bien jusquà ce soir (depuis hier), je tombe sur un email dont
l'UIDL à déjà changé 3 fois!!


Si vous pouviez m'aider ce serait SUPEER car je n'y comprends plus RIEN.

merci de votre aide

5 réponses

1 2
Avatar
Etienne SOBOLE
Hum...
bon mea culpa...

c'est vrai que je cite dans mon message précédent la RFC du protocol IMAP.
le fait est que chez mon hebergeur, il semble que l'IMAP fonctionne de la
meme façon que le POP3...

Ce qui fait que imat_sort me renvoit des IDs tout aussi valide en IMAP qu'en
POP3.
Donc je retire ce que j'ai dit. Peut etre que ca ne marche pas en POP3
partout...

Etienne
Avatar
Etienne SOBOLE
Je n'en suis pas sûr, notamment parce que la fonction imap_uid, selon la
doc (http://fr2.php.net/manual/fr/function.imap-uid.php) ne fonctionne pas
avec POP3.
De plus, d'après les résultats de Marc, on obtient un rang dans une
séquence. Ce qui ne me semble pas pouvoir constituer un identifiant unique
associé à un message.


http://www.faqs.org/rfcs/rfc2060.html

2.3.1.1. Unique Identifier (UID) Message Attribute

A 32-bit value assigned to each message, which when used with the
unique identifier validity value (see below) forms a 64-bit value
that is permanently guaranteed not to refer to any other message in
the mailbox. Unique identifiers are assigned in a strictly ascending
fashion in the mailbox; as each message is added to the mailbox it is
assigned a higher UID than the message(s) which were added
previously.

efface 3 de tes messages et tu verras qu'il restera les trous.
Le serveur de mail attribut un numero qu'il incrémente à chaque nouveau
mail arrivant dans le repertoire...


Et il l'incrémente indéfiniment ? Ca me paraît difficile. Alors il doit
bien le décrémenter à un moment donné ce numéro, et c'est là qu'il me
semble difficle de garder l'association n°/message.


Pourquoi tu crois qu'il existe beaucoup de gens qui recoivent 4 milliards de
mail dans une vie ?
Disons que tu vie 100 ans, ca ferait donc 40 million de mails par an
Soit à peut pret 100.000 mails par jour...
Bon... vive le SPAM ;)

Etienne


Avatar
WebRod
non désolé.
Enfin si finalement, ils sont bien unique, si tu regardes bien 2 mails n'ont
pas le meme numéro.
Mais ce ne sont pas pour autant des UID.
Le fait que ce numéro soit unique, en fait, on s'en fou.
Ce qu'il faut c'est respecter les 2 points suivants:
- unicité du numéro
- conservation du couple (numéro , mail) à travers les sessions

Donc non seulement un email précis doit avoir un numéro unique mais SURTOUT
il doit conserver le numéro au fil du temps!!!

Sinon, ca nes ert à rien.
Dans ton cas, le numéro est peut-être unique mais PROPRE A LA SESSION!!!!!!!

Ca c'est sur!
Tu ne dois pas t'en rendre compte car j'imagine que ton client mail ne
conserve pas une copie des mails sur le serveur.
Sinon, CA NE PEUT PAS fonctionner!!

Voir message de lionel qui fournit le lien de la RFC

beaucoup de personnes confondent aussi le MESSAGE_ID avec le UID alors que
ca n'a rien à voir

Rod

"Etienne SOBOLE" a écrit dans le message de news:
41f92b2b$0$2264$
merci pour ta réponse.
J'ai executé ton code mais cela renvoi le numéro du message (donc de 1 à
n avec n le nombre de messages dans la mailbox).
Ce ne sont pas des UID.


Bien sur que si, ce sont des numero uniques.
efface 3 de tes messages et tu verras qu'il restera les trous.
Le serveur de mail attribut un numero qu'il incrémente à chaque nouveau
mail arrivant dans le repertoire...
donc meme si c'est pas un gros GUID, c'est bien un numero unique...

Etienne



Avatar
WebRod
Et il l'incrémente indéfiniment ? Ca me paraît difficile. Alors il doit
bien le décrémenter à un moment donné ce numéro, et c'est là qu'il me
semble difficle de garder l'association n°/message.


Chaque serveur POP3 ou IMAP à le devoir de choisir un numéro unique pour
chaque message (même si conformément à la RFC ceci n'est pas obligatoire
dans le cas de POP3, juste une option VIVEMENT conseillé!).
Celui qui administre le serveur à la liberté de calcul de ce numéro que ce
soit un incrément ou un numéro au hasard, il doit juste s'assurer (notamment
s'il repart à 0) que 2 mails n'ont pas le même UID (encore que, dixit la
RFC, un bon client mail doit pouvoir gérer le cas où 2 mails identiques
auraient le même UID).

Effectivement quiconque qui écrit un client POP en se basant sur le fait que
le UID ne fait que s'incrémenter aura des soucis à se faire tôt ou tard ;)

Rod

Avatar
Etienne SOBOLE
Tu ne dois pas t'en rendre compte car j'imagine que ton client mail ne
conserve pas une copie des mails sur le serveur.
Sinon, CA NE PEUT PAS fonctionner!!


Hum... Je te crois effectivement.
Pourtant je gère effectivement un cache dont la clé est l'ID dont je t'ai
parlé, mais tu as sans doute raison, je risque a un moment ou a un autre
d'avoir quelques soucis...
Va falloir que je revise ma copie...

Autant dire que cela ne m'arrange pas du tout car cela améliore grandement
les performances de gérer comme je le fais les messages.
Car la methode qui consisterai à créer une cle md5 sur les entètes de
fichier implique de relire tous ces entètes à chaque fois.
Hors... j'ai des utilisateurs qui ont plus de 5000 mails dans leur INBOX...
Il est vrai que je ne fais que de l'IMAP jusqu'a présent, mais j'avais testé
mon truc en POP et tout semblait marcher...

pas glop tout ca...
D'apres Marc sur free ca ne marche pas comme je le souhaite... vais aller
tester la bas..

Etienne

1 2