Kaydol

Giriş Yap

Parolanızı mı unuttunuz

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Üzgünüz, gönderi ekleme izniniz yok.

Python’da Mail Nasıl Atılır?

    Merhaba arkadaşlar bugün “Python ile mail nasıl atılır?” sorusunu cevaplayacağız. smtplib modülü sıradan bir mail atmak için yeterlidir. Ancak biz atacağımız iletiye dosya da eklemek istersek diğer modüllerin altında bulunan sınıfları da kodumuza eklemeliyiz.

import smtplib, os
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.utils import COMMASPACE, formatdate
from email import encoders

    Şimdi mail hesabımızı ve şifremizi tutacak değişkenleri belirleyelim.

username = "[email protected]" #gmail hesabınız
password = "password" #gmail hesabınızın şifresi

    Gmail’in server’ına 587 numaralı porttan bağlanacağız. 587 numaralı port her mail sistemi için farklılık taşır. Daha sonra login metodu ile server’a mail adresimizle giriş yapıyoruz.

global server
server = smtplib.SMTP('smtp.gmail.com', 587)

server.ehlo()
server.starttls()
server.ehlo()
server.login(username, password)

    Tanımladığımız send_mail fonksiyonuna çeşitli parametreler yolluyoruz. Bu fonksiyonda yapılan en önemli iş atacağımız mail’e ekleyeceğimiz dosyaların eklenmesi. Dosya ekleme kısmı for bloğu içerisinde gerçekleşiyor.

def send_mail( send_from, send_to, subject, text, files, isTls=True):
    msg = MIMEMultipart()
    msg['From'] = send_from
    msg['To'] = "".join(send_to)
    msg['Date'] = formatdate(localtime = True)
    msg['Subject'] = subject
    msg.attach( MIMEText(text) )
    for f in files:
        part = MIMEBase('application', "octet-stream")
        part.set_payload( open(f,"rb").read() )
        encoders.encode_base64(part)
        part.add_header('Content-Disposition', 'attachment; filename="{0}"'.format(os.path.basename(f)))
        msg.attach(part)
    server.sendmail(send_from, send_to, msg.as_string())

    Şimdi mail’in kime yollanacağını, mail’in konusunu, içeriğini ve mail’in kimden yollandığını göstermek istiyorsak onu belirliyoruz.

send_to= "" #mail'i göndereceğiniz mail adresi
subject = "" #konu
text = "" #içerik
send_from = "isim soyisim" #kimden gönderildiği

    Bu satırda maile hangi dosyaların ekleneceğini belirtiyoruz. Bir sonraki satırda ise yazdığımız fonksiyonu çağırıyoruz.

files = ["file1", "file2"] #mail'le beraber yollamak istediğiniz dosyalar

send_mail(send_from, send_to, subject, text, files, isTls = True)

   Son satırla server’dan çıkıyoruz.

server.quit()

İlginizi Çekebilecek Diğer Yazılar

Python'da Yazıyı Sese, Sesi Yazıya Nasıl Dönüştürürüz?

    Merhaba arkadaşlar, bugün yazıları kendi yazdığımız programla nasıl sese dönüştürürüz ve bu işlemin ...

Python'da Bilgisayarlar Arası Veri Alışverişi

    Merhaba arkadaşlar bugün, “Python programlama dili ile veri alışverişi nasıl yapılır?” sorusunu cevaplayacağız. ...

Python'la Kendi Arama Motorunuzu Yapabilirsiniz

    Merhaba arkadaşlar, bugün kendi arama motorumuzu yazacağız. Bu sayede arama motorlarının çalışma mantığını ...

Python'da Sınıf Kullanımı

    Merhaba arkadaşlar, bugün ki konumuz sınıflar. Sınıflar değişkenlere özellik eklemek için kullanılır. Daha iyi ...

Python'da Fonksiyonlar ve Hata Yakalama

Merhaba arkadaşlar, bügün ki konumuz fonksiyonlar ve hata yakalama.     Belli bir kod bloğunu ...

Python'da Döngüler

    Merhaba arkadaşlar,     Programlamada en çok kullandığımız yapılardan birisi de döngülerdir. Döngüler, ...

Python'da Liste Kullanımı ve Metotları

Merhaba arkadaşlar, Bugün ki konumuz listeler. Listeler son derece kullanışlı bir veri tipidir ve çoğu ...

Python'da İf-Elif-Else Yapısı

Merhaba arkadaşlar, geçen derste karakter dizisi metotlarından birkaçını görmüştük. Bu ders ise if-elif-else yapısını görerek ...

Python'da Karakter Dizisi Metotları

Merhaba arkadaşlar, Bugün işleyeceğimiz konu karakter dizileri ve karakter dizisi metotları. Karakter dizilerini ve metotlarını ...

Python, Bir Başka Dünya

Öncelikle merhaba, Ben Metehan. Programlama ile yaklaşık iki senedir ilgileniyorum ancak Python ile tanışmam 1.5 ...