Først og fremmest, i IMAP er der intet krav, som ville indebære, at FETCH BODYSTRUCTURE
ville have overført komplette beskeddata med vedhæftede filer. Enten er din antagelse forkert, eller også har dit IMAP-bibliotek en alvorlig fejl, eller også bruger du en forkert funktion her.
For det andet nævnte du at holde styr på UID'er, men du har ikke sagt noget om UIDVALIDITY
. Læs RFC 3501
at forstå, hvad det betyder. Der er ingen måde, du kan implementere et program, der taler IMAP korrekt uden at kende protokollen. Yderligere henvisninger er også givet i RFC 4549
.
Dit tredje spørgsmål handler om at bede om slettede eller flyttede elementer. I baseline IMAP kan du ikke gøre det. Den eneste måde at vide, hvilke meddelelser der er blevet slettet, og hvilke der er de nye, er at spore UID'erne eksplicit -- forudsat UIDVALIDITY
blev givet og ikke ændret, sammenligner du listen over UID'er siden sidst med hvad du fik nu, og ser hvilke der er nye og hvilke der er væk. Igen, læs RFC'erne, de indeholder svar på alle dine spørgsmål samt forslag til, hvordan du optimerer synkroniseringsprocessen. Der er også en afhandling om IMAP
som går meget mere i detaljer om, hvordan man yderligere forbedrer protokolchatten, og hvilke udvidelser der er relevante. Dette er dog ikke et let projekt.