Mysql
 sql >> Database >  >> RDS >> Mysql

Leggi email imap php

Innanzitutto, in IMAP, non esiste alcun requisito che implichi che FETCH BODYSTRUCTURE avrebbe trasferito i dati completi del messaggio con gli allegati. O la tua ipotesi è sbagliata, o la tua libreria IMAP ha un grave bug o stai usando una funzione sbagliata qui.

In secondo luogo, hai menzionato di tenere traccia degli UID ma non hai detto nulla su UIDVALIDITY . Leggi RFC 3501 per capire cosa significa. Non è possibile implementare un'applicazione che parli correttamente IMAP senza conoscere il protocollo. Ulteriori indicazioni sono fornite anche in RFC 4549 .

La tua terza domanda riguarda la richiesta di elementi eliminati o spostati. Nell'IMAP di base, non puoi farlo. L'unico modo per sapere quali messaggi sono stati eliminati e quali sono i nuovi arrivati ​​è tracciare gli UID in modo esplicito, assumendo il UIDVALIDITY è stato fornito e non è stato modificato, confronti l'elenco degli UID dall'ultima volta con quello che hai ricevuto ora e vedi quali sono nuovi e quali sono spariti. Ancora una volta, leggi le RFC, contengono risposte a tutte le tue domande e suggerimenti su come ottimizzare il processo di sincronizzazione. C'è anche una tesi sull'IMAP che approfondisce molto più in dettaglio come migliorare ulteriormente la chat di protocollo e quali estensioni sono rilevanti. Questo non è un progetto facile, però.