in ,

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 = "ornek@gmail.com" #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()

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

FTP İle Dosya Gönderme [ Tarayıcı ve Ftp Programı Anlatım]

Silikon Vadisi’ni Kıskandıran Görüntüler Asya’nın En büyük Teknoloji Fuarından Geldi