YazılımPython

Python Mail Nasıl Gönderilir?

Python Mail Nasıl Gönderilir?
Python Mail Nasıl Gönderilir?

Python Kullanarak Mail Nasıl Gönderilir?

Python Mail Nasıl Gönderilir? sorusuna cevap vermeden önce dijital dünyanın gelişmesi ile birlikte yazılıma olan ilgi son yılların en yüksek seviyesini gördü. Yazılım programlama dillerinden birisi olan Python; diğer yazılım dillerine oranla basit söz dizimi, dil öğrenilmesi gibi akılda kalmasını kolaylaştırmaktadır. Python programlama dilinde ise sık sorulan sorulardan birisi ise mail gönderimidir. Peki Python programlama dili ile mail nasıl gönderilir? En güncel detaylı rehber yazı içeriğinin devamında yer alıyor.

Python ile mail gönderimleri için en basit yolları bu yazı rehberinde inceleyeceğiz. İçeriği okumaya devam edin.

Python Mail Gönderim Kütüphanesi

Python programlama dilinde mail gönderimleri için iki modül kullanmamız gerekiyor. Bu modüller smtplib ve e-mail modülleridir. Bu modüller ile mail gönderimini açıklamadan önce dilerseniz kavramların ne anlama geldiğini öğrenelim.

Smtplib modülü elektronik posta gönderimleri anlamına gelen bir iletişim protokolüdür. 

Gmail Stmp Ayarları

Genel olarak dünyada mail sunucuları stmp protokolünü kullanarak e-mail gönderip almaktadırlar. Python ile mail gönderebilmeniz adına bir smtp mail sunucusu üzerinden bağlanma işlemleri gerçekleştirilmesi gerekmektedir. Bu işlemlerin kolay bir şekilde ilerlemesi adına ise gmail stmp ayarlarını kullanarak mail gönderimi gerçekleştireceğiz. Türkiye’de en fazla kullanılan mail servislerinden birisi olan Gmail üzerinden mail gönderim işlemlerini basit bir şekilde tamamlayabiliriz.

Bu işlemleri sağlıklı bir şekilde tanımlayabilmeniz için Google hesabınıza giriş yapmanız gerekmektedir. Google hesabınıza ilk etapta daha az güvenli uygulama bağlantı girişleri için izin vermeniz gerekmektedir. 

https://myaccount.google.com/lesssecureapps

Burada yer alan linke tıklayarak gmail hesabınızla oturum açınız. Oturum açmanızın ardından “Allow less secure apps” ayarını “ON” yapmanız gerekmektedir.

Gerçekleştirdiğiniz bu ayarlar sonrasında Python kodunuzu yazabiirsiniz. 

İlk aşamada smtplib ve email modülleri için gerekli tüm ayarları import etmemiz gerekmektedir.

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

Gmail smtp sunucusuna bağlanabilmek için port kısmına 587 giriniz.

mail = smtplib.SMTP("smtp.gmail.com",587)          
mail.ehlo()
mail.starttls()

# gmail kullanıcı adımı ve şifremi giriyorum.
mail.login("emailkullanicim@gmail.com", "xxxxxx")  

Bu ayarlar ile bağlanma işlemini gerçekleştirmenizin ardından göndereceğiniz mesajı modül içerisinde bulunan “MIMEmultipart” sınıfı üzerinden oluşturacağız. Bu sınıf üzerinde ki “from, to, subject” alanlarına da uygun değerleri vererek kodu tamamlıyoruz.

mesaj = MIMEMultipart()

mesaj["From"] = " emailkullanicim@gmail.com"        # Gönderen kişi
mesaj["To"] = " emailkullanicim@gmail.com"          # Alıcı

mesaj["Subject"] = "Python Smtp ile Mail Gönderme"  # Konu

body = """

Python ile smtp ve email modülünü kullanarak mail gönderiyorum.

"""

body_text = MIMEText(body, "plain")  
mesaj.attach(body_text)

Bu aşamaları doğru bir şekilde tamamlamamızın ardından mail istemci sınıfında sendmail metodunu çağıralım.

mail.sendmail( mesaj["From"], mesaj["To"], mesaj.as_string())

İlk aşamadan itibaren yazdığımız kodları bir araya getirelim. 

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import sys

# Gmail email sunucusuna bağlanıyoruz
try:
    mail = smtplib.SMTP("smtp.gmail.com",587)
    mail.ehlo()
    mail.starttls()
    mail.login("emailkullanicim@gmail.com", "xxxxxx")

    mesaj = MIMEMultipart()
    mesaj["From"] = "emailkullanicim@gmail.com"           # Gönderen
    mesaj["Subject"] = "Python Smtp ile Mail Gönderme"    # Konusu

    body = """

    Python ile smtp ve email modülünü kullanarak mail gönderiyorum.

    """

    body_text = MIMEText(body, "plain")  #
    mesaj.attach(body_text)

    mail.sendmail(mesaj["From"], mesaj["To"], mesaj.as_string())
    print("Mail başarılı bir şekilde gönderildi.")
    mail.close()

# Eğer mesaj gönderirken hata olursa, hata mesajını konsole yazdırıyorum.
except:
    print("Hata:", sys.exc_info()[0])

Hazırladığımız kodlarda herhangi bir hata olması durumunda ise Python hatanın ne olduğunu konsola yazacaktır. Kıvırcık Yazılımcı Python

Kıvırcık

Güncel yazılım bilgileri, django dersleri, python dersleri, javascript derslerine dair yazılar ve bilgiler paylaşacağım

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Başa dön tuşu