CleanMailer

Ce référentiel contient de petits services publics pour filtrer les listes de courriels, vérifier la validité du domaine, envoyer des e-mails en vrac et recueillir des commentaires via des comptes IMAP.

Installation

  1. Installez les dépendances Python (Python 3.12 recommandée): `bash pip install -r exigences.txt
  2. Copiez .env.example à / etc / cleanmailer / .env et ajustez les valeurs. Le fichier ne doit ** pas ** contenir des instructions Export et n’est lu que par python-dotenv.
    • CleanMailer_Home (facultatif): répertoire racine contenant l’entrée, les rapports et autres dossiers. Par défaut «/ opt / cleanmailer`.
    • Location de script (script_path_filter, script_path_check, script_path_send, script_path_feedback, script_path_export, script_path_mailer).
    • Paramètres SMTP (smtp_sender, smtp_receiver, smtp_server, smtp_port, smtp_user, smtp_pass) pour Mailer.py.
    • Paramètres IMAP (IMAP_HOST, IMAP_PORT, EMAND_USER, EMAIL_PASS) pour imap_dump.py.
    • admin_user, admin_pass et flask_Secret pour le panneau Web.
  3. Assurez-vous qu’un «répertoire des journaux /existe sousCleanMailer_Home». La plupart des scripts le créeront automatiquement en cas de manque.

scripts

  • scripts / 01_filter_existing.py - supprime les adresses déjà contactées et enregistre la liste restante à reporting / kontrol_edilmemis.xlsx.
  • scripts / 02_check_domains.py - vérifie MX ou un enregistrement pour les domaines et divise les adresses dans des listes actives / inactives.
  • scripts / 03_send_mails.py - envoie des e-mails modèles à l’aide de plusieurs comptes SMTP et enregistre les résultats.
  • scripts / 04_check_feedback.py - vérifie les comptes de l’expéditeur pour les rebonds et les réponses.
  • scripts / 05_export_clean_list.py - produit une liste nettoyée finale à l’exclusion des adresses rebondies.
  • scripts / imap_dump.py - Utilitaire de vidage IMAP simple. Les informations d’identification doivent être fournies via des variables d’environnement.

La plupart des scripts reposent sur des fichiers Excel situés dans les répertoires sous CleanMailer_Home.

Panneau Web ##

Le panneau basé sur Flask permet de télécharger des listes de diffusion, de surveiller les journaux et de lancer scriptts directement du navigateur. Cron Jobs peut également être géré par l’interface utilisateur.

En cours d’exécution

`bash exporter flask_app = web.app Flash Run

Tests d’exécution

`bash pytest

Cron Jobs

Les scripts prévus avec «Crontab» doivent invoquer directement les scripts Python. Le fichier d’environnement est chargé par les scripts eux-mêmes, donc «source» n’est pas requis.

Cron 0 8 * * * cd / opt / cleanmailer && python3 scripts / 03_send_mails.py