# -*- coding: utf8 -*- # # Compter les emails BEFORE DATE et les supprimer # from pprint import pprint import datetime import imaplib # connecter au serveur IMAP # Gmail avec authentification à deux facteurs (2FA), # demander un mot de passe spécifique du compte Gmail conn = imaplib.IMAP4_SSL('imap.gmail.com') conn.login('ctphuoc@gmail.com', 'ztwciswzhxxogcfv') # lister les dossiers typ, data = conn.list() print('Liste des dossiers :') pprint(data) # supprimer les mails au-dela de 14 ans before_date = (datetime.date.today() - datetime.timedelta(365.25 * 13)).strftime("%d-%b-%Y") print("Supprimer les emails avant " + before_date) # select ALL conn.select('INBOX') rv, data = conn.search(None, '(BEFORE {0})'.format(before_date)) nb_mails = str(len(data[0])) print(nb_mails + " emails trouvés") resp = input ("Entrer 'c' pour continuer, or 'a' to annuler : ") if resp=="c": print("Déplacer " + nb_mails + " emails à la Corbeille") messages = data[0].split(b' ') for mail in messages: # move to trash conn.store(mail, '+X-GM-LABELS', '\\Trash') #This block empties trash, remove if you want to keep, Gmail auto purges trash after 30 days. print("Vider la Corbeille & Expurger...") conn.select('[Gmail]/Corbeille') conn.store("1:*", '+FLAGS', '\\Deleted') # supprimer tous les messages selectionnés conn.expunge() print("Script terminé") else: print("Script annulé") # deconnexion du serveur conn.close() conn.logout()