#!/usr/bin/env python3 """ Maak alle nieuwe IMAP-mappen aan op australius.nl. Bestaande mappen worden overgeslagen. Gebruik: python3 maak_mappen.py """ import sys import imaplib import config from imap_utils import list_folders, quote_mailbox from mail_routes import PREFIX, destination_folders def mappen() -> list[str]: """Alle te maken mappen, zonder prefix (prefix wordt automatisch toegevoegd).""" return destination_folders() def run(): cfg = config.load() print(f"Account: {cfg.username}\n") print(f"Verbinden met {cfg.imap_host}:{cfg.imap_port} ...") try: mail = imaplib.IMAP4_SSL(cfg.imap_host, cfg.imap_port) mail.login(cfg.username, cfg.password) except Exception as e: print(f"Verbinding mislukt: {e}") sys.exit(1) existing = set(list_folders(mail)) te_maken = mappen() print(f"\n{len(te_maken)} mappen te controleren ({len(existing)} bestaan al op server)\n") aangemaakt = 0 overgeslagen = 0 fouten = 0 for folder in te_maken: volledige_naam = PREFIX + folder if volledige_naam in existing or folder in existing: print(f" ✓ bestaat {folder}") overgeslagen += 1 continue status, data = mail.create(quote_mailbox(volledige_naam)) if status == "OK": print(f" + aangemaakt {folder}") aangemaakt += 1 else: print(f" ✗ FOUT {folder}: {data}") fouten += 1 mail.logout() print(f"\nKlaar: {aangemaakt} aangemaakt, {overgeslagen} bestonden al, {fouten} fouten.") if __name__ == "__main__": run()