python之POP详解,pythonpop,[Python]代码#!
python之POP详解,pythonpop,[Python]代码#!
[Python]代码
#!/usr/bin/env python#-*-coding = UTF-8-*-#POP_email.py#auth@:xfk#date@:2012-04-30################################################################# WARNING: This program deletes mail from the specified mailbox.# Do Not point it to any mailbox you are care about!################################################################import getpassimport sysimport poplibimport emailif len(sys.argv) < 4: print "[*]usage:%s server fromaddr toaddr " % sys.argv[0] sys.exit(1)(host,user,dest) = sys.argv[1:]passwd = getpass.getpass()destfd = open(dest,"at")p = poplib.POP3(host) #如果服务器支持和需要APOP认证,APOP使用加密保护密码被窃取try: print "Attempting APOP authentication..." print "Logging on..." p.apop(user,passwd) print "Success.\n"except poplib.error_proto: print "Attempting standard authentication..." try: print "Logging on..." p.user(user) p.pass_(passwd) print "Success.\n" except poplib.error_proto,e: print "Login fialed:",e sys.exit(1)print "*****Scanning INBOX...*****" #扫描服务器邮箱的邮件mail_box_list = p.list()[1]print "There is %d messages.\n" % len(mail_box_list)delelist = [] #要进行删除的又见队列for item in mail_box_list: number,octets = item.split(' ') #每一个元素之间有空格隔开 print "Downloading message %s (%s bytes)..." % (number,octets) lines = p.retr(number)[1] #下载邮件 msg = email.message_from_string("\n".join(lines)) #建立一个对象接受邮件内容 destfd.write(msg.as_string(unixfrom = 1)) #讲邮件内容写进目标文件 destfd.write("\n") delelist.append(number) print "Done !\n"destfd.close()counter = 0for number in delelist: counter = counter + 1 print "Deleting message %d of %d \r" % (counter,len(delelist)) p.dele(number) #删除邮件if counter > 0: print "Successfully deleted %d message from server.\n" % counterelse: print "No messages present to download.\n"print "Closing connection..."p.quit() #断开连接print "Done !\n"
相关内容
- Basic Blog,basicblog,main.pyimpor
- 使用Gmail发送邮件的Python脚本,gmailpython,[Python]代码
- [娱乐] 画菱形,娱乐画菱形,[Python]代码 w
- User signup (HTML and Python),signuppython,[Python]代码#!
- 基于python的web表单提交方法,pythonweb表单,[Python]代码
- rsync同步管理工具,rsync同步工具,[Python]代码#/
- 有一位农场主的遗嘱:第1个儿子分100美元和剩下财产的
- django 获取用户输入,django获取用户,[Python]代码#u
- 一些两位数加上18,它们的个、十位恰好位置对调了,
- 生成文件的MD5和sha1,生成文件MD5sha1,生成文件的MD5和
评论关闭