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
- Python bağımlılıklarını yükleyin (Python 3.12 Önerilen):
Bash PIP yükleme -r gereksinimleri.txt
.env.example
‘/etc/cleanMailer/.envadresini kopyalayın ve değerleri ayarlayın. Dosya ** Dışa aktarma 'ifadeleri içermemeli ve yalnızca
python-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çinsmtp_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.
- 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 listeyiscripts/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