15 Temmuz 2014 Salı

Python Kullanarak E-mail Göndermek

Merhabalar, mail gönderme durumuyla stajda uğraştığım projede karşılaştım. Ters bir sonuç olduğunda, uyarı niteliğinde yetkili kişilere mail yollamam gerekiyordu. Python ile kolayca yapılabiliyormuş, ben de sizlerle paylaşmak istedim :)

"smtp" kütüphanesi kullanılarak birkaç satırda hallediliyor. SMTP (simple mail transfer protocol) posta sunucuları arasında e-posta göndermek için kullanılan yaygın bir protokol.

"import smtplib" diyerek smtp modülünü yüklemiş oluyoruz.

Önce, Gmail'in SMTP sunucusuna bağlantı kurulmalı. Bu bağlantı TLS veya SSL biriyle yapılabilir. Bu örnekte, STARTTLS bağlantısı (port 587) kullandık. Son olarak Gmail hesabı kimlik bilgilerini ekledik.
server = smtplib.SMTP( "smtp.gmail.com", 587 )
server.starttls()
server.login( '<gmail_address>', '<gmail_password>' ) 

Metin mesajı, mobil taşıyıcıların e-posta avantajlarından yararlanarak gönderiliyor.

Örneğin, T-Mobile numarasına kısa mesaj göndermek için <number>@tmomail.net, AT&T numarasına metin mesajı göndermek için, <number>@mms.att.net biçiminde kullanmalısınız.

Sonra, mesajı ekleyip python dosyasını çalıştırdığımızda mail atmış oluyoruz.
server.sendmail( '<from>', '<number>@tmomail.net', 'Hello!' ) 

Kolay gelsin :)

 
  

7 yorum:

  1. Çok faydası oldu, kullandım bile. Thanks :)

    YanıtlaSil
  2. Peki pc de bulanan bi dosyayı yolunu yazarak maile nasıl ekleriz

    YanıtlaSil
  3. Bununla uğraşmamıştım ama şöyle yazınca dediğiniz iş yapılıyor:

    import smtplib

    server = smtplib.SMTP( "smtp.gmail.com", 587 )
    server.starttls()
    server.login( 'foo@gmail.com', 'bar' )

    file = '/home/deneme.txt'
    fo = open(file, "r")
    filecontent = fo.read()
    server.sendmail( 'asd@gmail.com', '123123123@tmomail.net', filecontent )

    deneme.txt içine birşeyler yazıp denedim, sadece smtplib kütüphanesiyle dosyayı kod içinde açıp bu şekilde yollanabiliyor. Ama bu linkte email kütüphanesi de kullanarak daha sağlıklısı yapılmış gibi geldi. http://stackoverflow.com/questions/3362600/how-to-send-email-attachments-with-python
    umarım işe yarar.

    YanıtlaSil
  4. server.login yaptıgımda hata veriyor

    YanıtlaSil
  5. server.login yaptıgımda hata veriyor

    YanıtlaSil
    Yanıtlar
    1. Hata çıktısını paylaşırsanız, yardımcı olmaya çalışırım.

      Sil
  6. Burayada bakabilirsiniz ;)
    Denedim sıkıntısız çalışıyor

    http://www.apkoyun.club/2017/03/python-3x-serisi-mail-gonderme-nasil.html?m=1

    YanıtlaSil