Question

J'écris un crawler IMAP, qui fait partie d'une application Open Source, et incrémental rampants je voudrais utiliser les UIDs de message pour savoir si je l'ai déjà vu un message particulier ou non.

Maintenant, je trouve un poste de 2007 qui dit IMAP sont UIDs pas toujours fiables. Plus précisément, si le drapeau UIDNOTSTICKY est défini, vous ne pouvez pas supposer les UID sont toujours les mêmes. Donc, ma question est, dois-je prendre l'affaire au sérieux UIDNOTSTICKY = true, ou sont des serveurs IMAP avec des trucs existants UIDs non collante et non (très répandu) l'utilisation plus?

Était-ce utile?

La solution

Si le code de réponse UIDNOTSTICKY est retourné dans une commande SELECT ou EXAMINE, vous verrez également que la valeur UIDVALIDITY sur la boîte aux lettres (le terme IMAP pour un dossier) change chaque fois que vous sélectionnerez ou EXAMINE la boîte aux lettres. Mais vous devez vérifier un changement de UIDVALIDITY de toute façon puisque n'est pas garanti la UIDVALIDITY de la boîte aux lettres immuable, et tout changement Invalide vos mises en cache UIDs. Oui, les valeurs UIDVALIDITY généralement ne changent pas. Mais va de votre code d'avoir à traiter ce cas, et en ce faisant, vous aurez également couvert le cas UIDNOTSTICKY.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top