CleanMailer

Bu depo, e -posta listelerini filtrelemek, etki alanı geçerliliğini kontrol etmek, toplu e -postaları göndermek ve IMAP hesapları aracılığıyla geri bildirim toplamak için küçük yardımcı programlar içerir.

Kurmak

  1. Python bağımlılıklarını yükleyin (Python 3.12 Önerilen): Bash PIP yükleme -r gereksinimleri.txt
  2. .env.example ‘/etc/cleanMailer/.envadresini kopyalayın ve değerleri ayarlayın. Dosya ** Dışa aktarma 'ifadeleri içermemeli ve yalnızcapython-dotenv’ tarafından okunmalıdır.
    • cleanMailer_home (isteğe bağlı): Giriş, raporlar ve diğer klasörleri içeren kök dizin. Varsayılan olarak `/opt/cleanMailer ‘.
    • Script konumları (script_path_filter, script_path_check, script_path_send, script_path_feedback, script_path_export, script_path_mailer).
    • SMTP ayarları (smtp_sender, smtp_receiver, smtp_server, smtp_port, smtp_user, smtp_pass için smtp_user).
    • imap_dump.py için IMAP ayarları (imap_host, imap_port, e -e -e -e -e -e -e -posta_pass`).
    • admin_user, admin_pass ve `flask_Web paneli için gizli.
  3. Bir log/ `dizininin ‘CleanMailer_Home’ altında bulunduğundan emin olun. Çoğu komut dosyası eksikse otomatik olarak oluşturur.

senaryolar

  • scripts/01_filter_existing.py - Halihazırda temasa geçilen adresleri kaldırır ve kalan listeyi reports/kontrol_edilmemis.xlsx ” e kaydeder.
  • scripts/02_check_domains.py - MX veya alan adları için kayıtları doğrular ve adresleri aktif/aktif olmayan listelere ayırır.
  • scripts/03_send_mails.py - Birden fazla SMTP hesabı kullanarak şablonlu e -postalar gönderir ve sonuçları günlüğe kaydeder.
  • scripts/04_check_feedback.py - Gönderen hesaplarını sıçramaları ve yanıtları kontrol eder.
  • scripts/05_export_clean_list.py - Geri atılan adresler hariç son temizlenmiş bir liste oluşturur.
  • scripts/imap_dump.py - Basit IMAP döküm yardımcı programı. Kimlik bilgileri ortam değişkenleri aracılığıyla sağlanmalıdır.

Çoğu komut dosyası, “ CleanMailer_Home` altındaki dizinlerde bulunan Excel dosyalarına dayanır.

Web Paneli

Şişe tabanlı panel, posta listelerinin yüklenmesine, günlükleri izlemeye ve başlatmaya izin verir senaryoTS doğrudan tarayıcıdan. Cron işleri UI aracılığıyla da yönetilebilir.

Koşma

Bash Dışa aktarma flask_app = web.app şişe koşusu

Testler

Bash pytest

Cron Jobs

Crontab 'ile planlanan komut dosyaları Python komut dosyalarını doğrudan çağırmalıdır. Çevre dosyası komut dosyalarının kendileri tarafından yüklenir, bu nedenle kaynak ” gerekli değildir.

Cron 0 8 * * * cd/opt/cleanMailer && python3 komut dosyaları/03_send_mails.py