日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python获取邮箱地址_Python操作邮箱

發(fā)布時(shí)間:2024/10/8 python 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python获取邮箱地址_Python操作邮箱 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

from email.parser importParserfrom email.header importdecode_headerfrom email.utils importparseaddrimportpoplib#輸入郵件地址, 口令和POP3服務(wù)器地址:#email = input('Email: ')#password = input('Password: ')#pop3_server = input('POP3 server: ')

#新浪郵箱測(cè)試通過, 密碼使用登陸密碼#email = "18937905850@sina.cn"#password = "password"#pop3_server = "pop.sina.cn"

#qq郵箱測(cè)試通過, 使用授權(quán)碼, 使用ssl#email = ""#password = ""#pop3_server = "pop.qq.com"

classEmail:def __init__(self,account,password,pop3_server):

self.account=account

self.password=password

self.pop3_server=pop3_serverdefguess_charset(self,msg):

charset=msg.get_charset()if charset isNone:

content_type= msg.get('Content-Type', '').lower()

pos= content_type.find('charset=')if pos >=0:

charset= content_type[pos + 8:].strip()returncharsetdefdecode_str(self,s):

value, charset=decode_header(s)[0]ifcharset:

value=value.decode(charset)returnvaluedef print_info(self,msg, indent=0):if indent ==0:for header in ['From', 'To', 'Subject']:

value= msg.get(header, '')ifvalue:if header == 'Subject':

value=self.decode_str(value)else:

hdr, addr=parseaddr(value)

name=self.decode_str(hdr)

value= u'%s <%s>' %(name, addr)print('%s%s: %s' % (' ' *indent, header, value))if(msg.is_multipart()):

parts=msg.get_payload()for n, part inenumerate(parts):print('%spart %s' % (' ' *indent, n))print('%s--------------------' % (' ' *indent))

self.print_info(part, indent+ 1)else:

content_type=msg.get_content_type()if content_type == 'text/plain' or content_type == 'text/html':

content= msg.get_payload(decode=True)

charset=self.guess_charset(msg)ifcharset:

content=content.decode(charset)print('%sText: %s' % (' ' * indent, content + '...'))else:print('%sAttachment: %s' % (' ' *indent, content_type))defmain(self):#連接到POP3服務(wù)器:

#server = poplib.POP3(pop3_server)

#qq需要使用ssl

server =poplib.POP3_SSL(pop3_server)#可以打開或關(guān)閉調(diào)試信息:

server.set_debuglevel(1)#可選:打印POP3服務(wù)器的歡迎文字:

print(server.getwelcome().decode('utf-8'))#身份認(rèn)證:

server.user(email)

server.pass_(password)#stat()返回郵件數(shù)量和占用空間:

print('Messages: %s. Size: %s' %server.stat())#list()返回所有郵件的編號(hào):

resp, mails, octets =server.list()#可以查看返回的列表類似[b'1 82923', b'2 2184', ...]

print(mails)#獲取最新一封郵件, 注意索引號(hào)從1開始:

index =len(mails)

resp, lines, octets=server.retr(index)#lines存儲(chǔ)了郵件的原始文本的每一行,

#可以獲得整個(gè)郵件的原始文本:

msg_content = b'\r\n'.join(lines).decode('utf-8')#稍后解析出郵件:

msg =Parser().parsestr(msg_content)

self.print_info(msg)#可以根據(jù)郵件索引號(hào)直接從服務(wù)器刪除郵件:

#server.dele(index)

#關(guān)閉連接:

server.quit()if __name__ == '__main__':

email= "bestfuture25@qq.com"password= "titeexrfwjutbhhg"pop3_server= "pop.qq.com"Email(email,password,pop3_server).main()

總結(jié)

以上是生活随笔為你收集整理的python获取邮箱地址_Python操作邮箱的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。