Φ Muallim-i Âli Gönderi tarihi: 25 Kasım , 2007 Paylaş Gönderi tarihi: 25 Kasım , 2007 Yazan : TurkPython 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. # -*- coding: iso-8859-9 -*- import getpass, poplib, re # Pop Ayarlarınız POPHOST = "mail.turkpython.net" POPUSER = "[email protected]" 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 Alıntı Yoruma sekme Diğer sitelerde paylaş Daha Fazla Paylaşım Siteleri
Önerilen İletiler
Katılın Görüşlerinizi Paylaşın
Şu anda misafir olarak gönderiyorsunuz. Eğer ÜYE iseniz, ileti gönderebilmek için HEMEN GİRİŞ YAPIN.
Eğer üye değilseniz hemen KAYIT OLUN.
Not: İletiniz gönderilmeden önce bir Moderatör kontrolünden geçirilecektir.