Mysql
 sql >> Base de données >  >> RDS >> Mysql

Lire e-mail imap php

Tout d'abord, dans IMAP, il n'y a aucune exigence qui impliquerait que FETCH BODYSTRUCTURE aurait transféré les données complètes du message avec les pièces jointes. Soit votre hypothèse est fausse, soit votre bibliothèque IMAP a un grave bogue, soit vous utilisez une mauvaise fonction ici.

Deuxièmement, vous avez mentionné le suivi des UID, mais vous n'avez rien dit sur la UIDVALIDITY . Lire RFC 3501 pour comprendre ce que cela signifie. Il est impossible d'implémenter une application parlant correctement IMAP sans connaître le protocole. D'autres pointeurs sont également donnés dans RFC 4549 .

Votre troisième question concerne la demande d'éléments supprimés ou déplacés. Dans IMAP de base, vous ne pouvez pas faire cela. La seule façon de savoir quels messages ont été supprimés et quels sont les nouveaux arrivants est de suivre explicitement les UID - en supposant que UIDVALIDITY a été donné et n'a pas changé, vous comparez la liste des UID depuis la dernière fois avec ce que vous avez maintenant, et voyez lesquels sont nouveaux et lesquels ont disparu. Encore une fois, lisez les RFC, ils contiennent des réponses à toutes vos questions ainsi que des suggestions sur la façon d'optimiser le processus de synchronisation. Il y a aussi une thèse sur IMAP qui va dans beaucoup plus de détails sur la façon d'améliorer encore le chat de protocole et quelles extensions sont pertinentes. Ce n'est pas un projet facile, cependant.