• 23-07-2009, 18:17:10
    #1
    Üyeliği durduruldu
    Hosting firmalarının sağladığı POP3 desteğinin yanı sıra bedava e-posta hizmeti veren servislerde artık POP3 desteği sunuyor. En sevdiğimiz oyuncağımız Python geniş kütüphanesi sayesinde bu konuda da imkanlar sağlıyor. Python"un standart kütüphanesindeki POP3 desteği sayesinde kendi e-posta uygulamalarınızı yazabilrisiniz. Örneğin, sadece başlıkları getiren text tabanlı bir wap sayfası mail okumak için harcadığınız gprs üzretini düşürebilir. Regular Expression"ın gücüyle kendinize ait bir spam filtreleyici de yazabilirsiniz. Ya da bir Email Client neden olmasın? Aşağıdaki küçük uygulamanın ve açıklamaların başlangıç için faydalı olacağını umuyorum. Yazdığınız kodları bizlerle paylaşmayı unutmazsınız umarım

    # -*- coding: iso-8859-9 -*-
    import getpass, poplib, re


    # Pop Ayarlarınız
    POPHOST = "mail.turkpython.net"
    POPUSER = "webmaster@turkpython.net"
    POPPASS = "xxxxxxx"

    # Mesaj içeriğinden çekilecek maksimum satır
    MAXLINES = 10

    # Gerekli başlıklar
    rx_headers = re.compile(r"^(From|To|Subject)")

    try:

    # Mail server"a bağlantı ve kimlik doğrulaması
    pop = poplib.POP3(POPHOST)
    pop.user(POPUSER)

    if not POPPASS:
    # Şifre girilmemişse soruyoruz
    POPPASS = getpass.getpass("%s@%s için şifre:" % (POPUSER, POPHOST))

    # Kimlik doğrulaması(Şifre)
    pop.pass_(POPPASS)

    # Genel bilgileri alıyoruz (msg_count, box_size)
    stat = pop.stat()

    # Verileri yazdırıyoruz
    print "Merhaba %s@%s" % (POPUSER, POPHOST)
    print "Durum: %d mesaj, %d bytes" % stat

    bye = 0
    count_del = 0
    for n in range(stat[0]):

    msgnum = n+1

    # Başlıkları çekiyoruz
    response, lines, bytes = pop.top(msgnum, MAXLINES)

    # Mesaj içeriğini ve başlıkları yazdırıyoruz
    print "Mesaj %d (%d bytes)" % (msgnum, bytes)
    print "-" * 30
    print "\n".join(filter(rx_headers.match, lines))
    print "-" * 30

    # Döngüyle mesajlarızı okuyoruz
    while 1:
    k = raw_input("(d=sil(delete), s=geç(skip), v=görüntüle(view), q=çıkış(quit))")
    if k in "dD":
    # Maili sileceğiz
    k = raw_input("%d Mesajını silmek istediğinizden emin misiniz ? (y/n)" % msgnum)
    if k in "yY":
    pop.dele(msgnum)
    print "%d Mesajı silinecektir." % msgnum
    count_del += 1
    break
    elif k in "sS":
    print "Serverda %d mesaj kaldı." % msgnum
    break
    elif k in "vV":
    print "-" * 30
    print "\n".join(lines)
    print "-" * 30
    elif k in "qQ":
    bye = 1
    break

    # Güle Güle deme vakti geldi çattı
    if bye:
    print "iyi Günler"
    break

    # Özet
    print "%s@%s Posta Kutusundaki %d Mesaj Siliniyor." % (POPUSER, POPHOST, count_del )

    # Operasyonları tamamla ve serverla bağlantıyı kes.
    print "POP3 oturumu kapatılıyor."
    pop.quit()

    except poplib.error_proto, detail:

    # Hata topluyoruz
    print "POP3 Protocol Error:", detail
  • 24-09-2009, 01:35:01
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    çok güzel bi çalışma teşekkürler biraz incelemek lazım ne nerelerde kullanılıyor diye