Merhabalar,
Bu yazımızda sizlere Python dilinde bulunan smtplib kütüphanesinin ne olduğunuz, nasıl kullanıldığını anlatmaya çalışacağım.
smtplib adında da anlaşılacağı üzerinden SMTP protokolünü kullanan bir iletişim teknolojisi. Bu kütüphane üzerinden gerek exchange gerekse diğer mail servislerini kullanarak mail gönderimi sağlayabilirsiniz. Kullanımı aşağıda ki gibidir; bu örnek gmail servisi üzerinden verilmektedir.
import smtplib #kütüphaneyi ekliyoruz...
gonderen_kullanici = "gmailadresimiz@gmail.com" #Göndericinin adresi
gonderen_sifre = 'gmailsifremiz' #Göndericinin şifresi
alici_mail= 'gönderilen@mail.com' #gönderilecek adres
alici_konu = 'Test' #gönderilecek konu
alici_mesaj = 'deneme maildir!' #gönderilecek içerik
#buraya kadar tamamiyle hep değişken tanımladık. Bundan sonra kütüphaneyi kullanacağız.
# bu kısımda yaptığımız bir şablon içerisinde yazıları yazdırmaktı. yukarıda bulunan değişkenleri "format" fonksiyonu ile sırasıyla metnimize yazdık.
email_text = """
From: {}
To: {}
Subject: {}
{}
""" .format(gonderen_kullanici,alici_mail, alici_konu , alici_mesaj )
try:
server = smtplib.SMTP('smtp.gmail.com:587') #gmail sunucusuna bağlanıyoruz. 587 port; smtp.gmail.com ise sunucu adresidir. bu bilgileri mail sağlayıcınızdan temin edebilirsiniz. Google üzerinde de birçok yerde yazıyor zaten.
server.starttls() #TLS protokolü ile sunucumuzu başlatıyoruz. Güvenlik için şifrelemesini istiyoruz.
server.login(gonderen_kullanici , gonderen_sifre) #sunucuyu yukarıda başlattık şimdi giriş yapıoy
server.sendmail(gonderen_kullanici, alici_mail, email_text) # Mail'imizi gönderdik. email_text üstte hazırladığımız şablon bu arada
server.close() #işimiz bitti sunucuyu kapattık boşuna bellek yemeye veya çalışmasına gerek yok.
print ('mail uçtu haberin olsun') #bunu söylemesek olmaz zaten.
except:
print("birşey oldu!") #Allah Allah nasıl bir hata?! burayı da except yapısı ile hata açıklamasını falan yazdırabilirsiniz.
İyi çalışmalar.