当前位置:Gxlcms > 数据库问题 > POP and IMAP - Post Office Protocol and Internet Message Access Protocol

POP and IMAP - Post Office Protocol and Internet Message Access Protocol

时间:2021-07-01 10:21:17 帮助过:4人阅读

POP and IMAP - Post Office Protocol and Internet Message Access Protocol 2 3 用来从 SMTP Server 上下载邮件的协议. 4 5 POP - The Post Office Protocol 6 通过 poplib 链接服务器, 7 例子, 8 import sys 9 import poplib, email 10 host = ‘‘ 11 userid = userid 12 PW = PW 13 storedir = ‘‘ # email stored directory(the mailbox) 14 P = poplib.POP3(host) 15 try: 16 P.user(userid) 17 P.pass_(PW) 18 except poplib.error_proto as e: 19 print("Login failed: ", e) 20 sys.exit() 21 22 maillist = P.list()[1] # the list of message in the mailbox 23 print(" %d mails." % len(maillist)) 24 dellist = [] 25 26 for item in maillist: # email download 27 number, octets = item.split( ) 28 print("Start downloading mail %s (%S Bytes)" % (number, octets)) 29 lines = P.retr(number)[1] # retrieve the ‘number‘th email 30 msg = email.message_from_string("\n".join(lines)) # email object 31 with open(storedir) as FH: 32 FH.write(msg.as_string(unixfrom=1) + "\n") 33 dellist.append(number) 34 print("Downloaded mail %s (%S Bytes)" % (number, octets)) 35 36 counter = 0 37 for num in dellist: # delete email 38 counter += 1 39 print("Deleting mail %d of %d" %(counter, len(dellist))) 40 P.dele(number) # delete mail 41 42 print("%d emails were deleted from server" % counter) 43 P.quit() # logout from server 44 45 IMAP - Internet Message Access Protocol 46 相比于 POP 协议 IMAP 更加完善,且功能更加强大 47 例子, opens a mailbox and retrieves and prints all messages: 48 49 import getpass, imaplib 50 M = imaplib.IMAP4() 51 M.login(getpass.getuser(), getpass.getpass()) 52 M.select() 53 typ, data = M.search(None, ALL) 54 for num in data[0].split(): 55 typ, data = M.fetch(num, (RFC822)) 56 print(Message %s\n%s\n % (num, data[0][1])) 57 M.close() 58 M.logout() 59 60 Reference, 61 python doc, 62 https://docs.python.org/3/library/imaplib.html

 

POP and IMAP - Post Office Protocol and Internet Message Access Protocol

标签:end   ocs   下载   ber   close   http   join   cte   write   

人气教程排行