
# -*- 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