Files
ctp_blogr/gmail_ctphuoc_purge.py

54 lines
1.5 KiB
Python

# -*- 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()