PYTHON SMTPLIB MODÜLÜ ILE MAIL GÖNDERME

LeGoLaS

ikra
Emektar Yönetici
Profil Bilgileri
Üyelik Tarihi :
1 Ağu 2008
Bulunduğu Yer :
Türkiye
Mesajları :
9,905
Puanları :
4,060
PYTHON SMTPLIB MODÜLÜ ILE MAIL GÖNDERME

Bu yazıda Python'ın smtplib modülünü kullanarak mail atma işlemini yapacağız. smtplib modülünü kullanmak oldukça basit. İlk önce bir sunucu kullanmamız gerekiyor. Eğer siz isterseniz yerel makinenize bir sunucu kurarak onun üzerinden mail gönderebilirsiniz. Biz Google'ın smtp sunucusunu kullanacağız. İlk önce kullanacağımız fonksiyonların ne işe yaradıklarını açıklayalım.
[COLOR=white !important]?
1
2
3
4
5
6
7
8
9
10​
import smtplib #smtplib modülünün içe aktarımı

smtplib.SMTP(sunucu,port) # Kullanılan sunucuya bağlanma işlemi

smtplib.SMTP_SSL(sunucu,port) # Eğer sunucu SSL kullanıyorsa bu fonksiyon kullanılır. Bizde google için bunu kullanacağız.


sunucu.sendmail(gonderici,alici,mail) # Mail gönderme işlemi

sunucu.quit() # Sunucu ile bağlantının kapatılma işlemi​

[/COLOR]
Bir Python dosyası oluşturun ve aşağıdaki kodları kaydedin.
[COLOR=white !important]?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42​
# -*- coding:utf-8 -*-
import smtplib


#server = smtplib.SMTP("smtp.google.com",587)

#Kullanıcıdan alıcağımız veriler için fonksiyon tanımladık
def giris(kelime):
return raw_input(kelime).strip()

#Sunucu ile bağlantıyı kuran fonksiyonu tanımladık.
def baglan():
sunucu = smtplib.SMTP_SSL('smtp.gmail.com', 465)
sunucu.login("gmail adresiniz","gmail şifreniz")
return sunucu

def mailgonder():
sunucu = baglan()

gonderici = giris("Maili gönderenin mail adresi:")
alici = giris("Maili alanın mail adresi:")

konu = giris("Mailin konusu:")
icerik = giris("Mailin içeriği:")

mail = """
Gönderen: %s
Konu: %s
Mesaj: %s
""" % (gonderici,konu,icerik)

try:
#maili gönderiyoruz. Aldığı parametreler gonderenin mail adresi, alıcının mail adresi, ve mail içeriği
sunucu.sendmail(gonderici,alici,mail)
print "Mail başarılı bir şekilde gönderildi."
except EOFError:
print "Mail gönderilirken hata oluştu."

sunucu.quit()

#mail gönder fonksiyonunu çağırdık
mailgonder()​

[/COLOR]
Mail kutusunu kontrol ettiğinizde mailin geldiğini görebilirsiniz.
Kaynakça
 
Üst