Au sein d'un code qui dépend de la librairé IMAPLIB, la fonction suivante :
où
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 def parse_uid(self, data): match = pattern_uid.match(data) return match.group('uid')
qui est appelée comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part pattern_uid = re.compile('\d+ \(UID (?P<uid>\d+)\)')
avec self.i étant l’identifiant («entier ») correspondant à l’id du mail dans la selection d’emails considérés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 resp, data = self.m.fetch(str(self.i), "(UID)") msg_uid = self.parse_uid(data[0].decode())
Et qui sert dans le script à passer un paramètre pour classer les courriels dans des sous-dossiers comme suit :
renvoit dans certains cas (Allianz, Metzler, KGI, Mitsubishi) l’erreur suivante en faisant crasher le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 result = self.m.uid('COPY', msg_uid, 'Inbox/VALORISATIONS/KGI') print("Result:", result[0]) if result[0] == 'OK': mov, data = self.m.uid('STORE', msg_uid, '+FLAGS', '(\Deleted)') self.m.expunge() print("Mail moved to subfolder")
Si vous avez déjà rencontré ce genre d’erreur en utilisant le protocole IMAP que ce soit en JAVA ou en Python, merci de bien vouloir svp revenir vers moi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Traceback (most recent call last): File "AutomatePDP_IMAP.py", line 3283, in <module> GestionBoitePDP.get_mail_deal_with_it(skipgetpasswords = None) File "AutomatePDP_IMAP.py", line 3264, in get_mail_deal_with_it msg_uid = self.parse_uid(data[0].decode()) File "AutomatePDP_IMAP.py", line 111, in parse_uid return match.group('uid') AttributeError: 'NoneType' object has no attribute 'group' Mail moved to subfolder
Cdt,
Ludovic
Partager