Bildiğiniz gibi linux ortamında mail göndermek için mail -s komutu var.Bununla mx kaydı yapılmış tüm serverlardan mail atabiliyorsunuz.Bende python ile linuxun bu özelliğini kullandım.Kod olarak çok basit olabilir ama işlev olarak gayet iyi bence.Belki ileride multi-thread ekleyip işlemleri çok daha kısa sürede tamamlattırabilirim.Ama şimdilik aşağıdaki kod işimi gördü.
#!/usr/bin/env python
import os
mailler = open("mailler.txt","r")
for mail in mailler:
print mail
os.system("""echo " Uzun suredir kapali kalan sitemwww.halitalptekin.com tekrardan acildi.Tekrardan siteme beklerim. " | mail -s " Yeniden Acildi " """ + mail)
Aynı dizinde bulunun mailler.txt dosyası içinde mailleri alt alta yazabilirsiniz.Örnek mailler.txt dosyası:
a@a.com
b@b.com
c@c.com
d@d.com
Tabi burada benim karşılaştığım bir sorundan bahsetmek istiyorum.Linux ile Windowsun dosya tipleri farklı olduğu için windows ortamındaki text dosyasını linux ortamında kullanamıyoruz.Bende bunu unutmuştum.Ve dosyayı aynen attığımda python hata verdi ve mailleri göndermedi.Daha sonra aklıma dos2unix programı geldi.Bununla windows ortamındaki metin dosyasını linux ortamında kullanılabilir hale getiriyoruz.Eminim ilerde sizde bu sorunla karşılaşacaksınız.Şimdiden çözümünü bi yerlere not etmekte fayda var.
Kurulum için
yum install dos2unix
Veya
apt-get install dos2unix
Kurduktan sonra dosya dönüştürmek için aşağıdaki komutu girebilirsiniz.(Bu komut windows ortamındaki dosyayı linux ortamı için uyarlar)
dos2unix -k mailler.txt
Ve şimdi bu dosyamızı rahatlıkta yukarıdaki mass mail programımızda kullanabiliriz.
Not: Lütfen programı iyi niyetli amaçlar için kullanalım.Spam mail atmak için kullanmayalım.
Kaynak : http://www.halitalptekin.com/python-ile-mass-mailer.html