2017-09-27 8 views
2

J'utilise python imaplib pour synchroniser les messages imap avec ma base de données. Disons que mon nouveau message uid dans ma base de données est 170, j'essaie d'obtenir la liste des messages les plus récents (plus de 170).Python imaplib - obtiens des uids supérieurs à

imap_server = 'my.imap.server' 
mail = imaplib.IMAP4_SSL(imap_server) 
mail.login(imap_user, imap_password) 

start_message_uid = 169 
if start_message_uid: 
    command = "UID {}:*".format(start_message_uid) 
    result, data = mail.uid('search', None, command) 
else: 
    result, data = mail.uid('search', None, "ALL") # this returns list of all messages 

mais cette commande:

result, data = mail.uid('search', None, command) 

Returns [ "Erreur dans la commande IMAP reçu par le serveur"]

Pouvez-vous indiquer ce que je fais mal?

+0

Pouvez-vous partager la trace complète s'il vous plaît –

+0

Et activer la journalisation de débogage. – Max

+0

Peut-être que vous avez besoin d'essayer différentes commandes comme 'fetch'. Pouvez-vous coller le message d'erreur que vous avez reçu. –

Répondre

1

Merci les gars pour vos intérêts. Je l'ai résolu en utilisant:

result, data = mail.uid('search', None, "UID", start_message_uid + ':*')