Kazım Ölmez – Web Tasarım Uzmanı

İnsanlara Faydası Olmayanı Ölülerden Say Gitsin..

Python İle Toplu E-mail Gönderme

Selâmün Aleyküm. Bu yazının konusu “Python İle Toplu E-mail Gönderme”.

Python İle Toplu E-mail Gönderme

Arkadaşlar Python ile basit bir şekilde mail gönderme işlemini yine aynı basitlikte yapacağız. Çoğu programlama dilinde de olduğu gibi, bir tane mail gönderdiniz mi hemen değilse de er ya da geç aklınıza bu soru gelir: Toplu olarak nasıl yaparım?

İşte ben tam da o soruyu soruyordum ki karıştıra karıştıra öğrendim. Sizde öğrenin lazım olur 🙂

Kodlar aşağıda veriyorum açıklama satırlarından neyin ne olduğunu anlarsınız umarım.

#modullerimizi dahil ediyoruz
import smtplib
import email.utils
from email.mime.text import MIMEText

#email adreslerini liste halinde yaziyoruz
mail_adresleri = ["[email protected]", "[email protected]", "[email protected]"]

#smtp baglanti sirasinda oturum acmak icin kullanilacak email ve parolasini ayarlıyoruz
kullanici = "[email protected]"
sifre = "mailsifremiz"

#giden maillerde adimiz yazsin demi ya
gonderen_ismi = "Kazim Olmez"

#mesaj icerigini olusturuyoruz
msg = MIMEText('Bu bir test mesajidir')
msg.set_unixfrom('author')

#email konusu
msg['Subject'] = "E-mail konusu"

#kendi email adresimizi optimize ediyoruz
msg['From'] = email.utils.formataddr((gonderen_ismi, kullanici))

#sunucuya baglaniyoruz
sunucu = smtplib.SMTP("mailsunucusu.com:587")

#standart try except olayi
try:

    #sunucu tls ise bunu yapsin
    if sunucu.has_extn('STARTTLS'):
        sunucu.starttls()

    #giris yapiyoruz
    server.login(kullanici, sifre)

    #elimizde ki email listesini donguye sokuyoruz
    for mail_adres in mail_adresleri:
        #gonderilecek email adresini optimize ediyoruz
        msg['To'] = email.utils.formataddr(("", mail_adres))

        #ve gonderiyoruz
        gndr = sunucu.sendmail(kullanici, [mail_adres], msg.as_string())

        print "Gonderildi : " + mail_adres

        #temizliyoruz bunu yapmasaniz da olur
        msg['To'] = ""

#hata olursa
except:
    print "Hata"

#basarili biterse
finally:
    #oturumu sondandiriyoruz
    sunucu.quit()

Hepsi bu kadar işte. Açıklama satırlarında Türkçe karakter kullanmadım hata vermesin diye. Çünkü aynen kopyalayacağınızı biliyorum!

Selâmetle.

Yorumlar

Ali

29 Mart 2016, 17:46

İşte Python seven bir değerli kardeşin daha

Yorum Yap

%d blogcu bunu beğendi: