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

yapay zeka destekli haber sitesi

    Ş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()

Yorum Yap

İlginizi Çekebilecek Diğer Yazılar