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
- Installez les dépendances Python (Python 3.12 recommandée):
`bash pip install -r exigences.txt
’ - Copiez
.env.example
à/ etc / cleanmailer / .env
et ajustez les valeurs. Le fichier ne doit ** pas ** contenir des instructionsExport
et n’est lu que parpython-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
) pourMailer.py
. - Paramètres IMAP (
IMAP_HOST
,IMAP_PORT
,EMAND_USER
,EMAIL_PASS
) pourimap_dump.py
. admin_user
,admin_pass
etflask_Secret
pour le panneau Web.
- Assurez-vous qu’un «répertoire des journaux /
existe sous
CleanMailer_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
’