py3 pop取件 email時(shí)間格式化

Python3 pop3取件

困難點(diǎn)

部分郵箱提示密碼錯(cuò)誤

-ERR Unable to log on

反饋密碼錯(cuò)誤,但實(shí)際上密碼是正確的檩互,該種情況盯捌,需要使用授權(quán)碼一也,而非密碼

目前已知需要授權(quán)碼的郵箱列表

  • 騰訊 @qq.com
  • 網(wǎng)易 @163.com

Date時(shí)間解析

查詢相關(guān)資料赖舟,得知可使用email.utils針對(duì)郵箱的時(shí)間格式進(jìn)行解析

Date: Sat, 15 Jan 2022 14:08:55 +0800

from email.utils import parsedate
import time
date="Sat, 15 Jan 2022 14:08:55 +0800"
print(time.strftime("%Y-%m-%d %H:%M:%S", parsedate(date)))

163郵箱在長(zhǎng)時(shí)間運(yùn)行后報(bào)錯(cuò)

報(bào)錯(cuò)內(nèi)容

-ERR \xc4\xfa\xb5\xc4\xd5\xca\xba\xc5\xd4\xdd\xca\xb1\xb2\xbb\xbf\xc9\xd3\xc3.\xbf\xc9\xc4\xdc\xb5\xc4\xd4\xad\xd2\xf2\xca\xc7:\xc4\xfa\xb5\xc4\xd5\xca\xba\xc5\xb6\xe0\xb4\xce\xb3\xa2\xca\xd4\xb4\xed\xce\xf3\xb5\xc4\xc3\xdc\xc2\xeb,\xb3\xf6\xd3\xda\xb0\xb2\xc8\xab\xbf\xbc\xc2\xc7,\xce\xd2\xc3\xc7\xc1\xd9\xca\xb1\xcf\xde\xd6\xc6\xc1\xcb\xc4\xfa\xb5\xc4\xd5\xca\xba\xc5\xb5\xc4pop\xb7\xc3\xce\xca\xc8\xa8\xcf\xde

嘗試復(fù)現(xiàn):

  • 長(zhǎng)時(shí)間運(yùn)行出現(xiàn)
  • 在停止運(yùn)行半小時(shí)后恢復(fù)
    通過(guò)以上觀測(cè)得知蓬戚,可猜測(cè)為頻繁請(qǐng)求導(dǎo)致【取件間隔5秒】,延長(zhǎng)后可解決

完整代碼

import poplib,quopri,requests,json,re,time
from email.header import decode_header
from email.utils import parseaddr
from email.parser import Parser
from email.utils import parsedate
from urllib.parse import urlencode
def get_info(msg):
    value = {}
    i = 0
    for header in ['From', 'To', 'Subject','Date']:  # 解析郵件頭
        value[i] = msg.get(header, '')
        if value[i]:
            if header == 'Subject':  # 解析主題
                value[i] = decode_str(value[i])
            elif header=='Date':
                value[i] = time.strftime("%Y-%m-%d %H:%M:%S", parsedate(value[i]))
            else:
                hdr, addr = parseaddr(value[i])
                value[i] = addr
        i = i + 1
    return value
def decode_str(s):
    value, charset = decode_header(s)[0]
    if charset:
        value = value.decode(charset)
    return value
def get_content(msg,pop3_server):
    content = msg.get_payload()
    if pop3_server == 'pop.163.com':
        decoded_string = quopri.decodestring(content[0].get_payload())
        return decoded_string.decode('utf-8')
    decoded_string = quopri.decodestring(content)
    return decoded_string.decode('utf-8')
def parsing(msg,pop3_server):
    #獲取郵箱來(lái)源 0發(fā)件人 1收件人 2主題 3收信時(shí)間
    email_info=get_info(msg)
    print('獲取到新郵件:{} 來(lái)源:{} 收件人:{}'.format(email_info[2],email_info[0],email_info[1]))
    if email_info[0] not in ['AccountSupport@ubi.com','noreply@steampowered.com']:
        return False
    #郵箱內(nèi)容
    email_content = get_content(msg,pop3_server)
    return email_content

if __name__=='__main__':
    server = poplib.POP3_SSL('pop.163.com')
    server.set_debuglevel(0)
    server.user('xxx@163.com')
    server.pass_('password 授權(quán)碼')
    resp, mails, octets = server.list()
    #郵件數(shù)量
    email_count=len(mails)
    #取最新一封
    resp, lines, octets = server.retr(email_count)
    msg_content = b'\r\n'.join(lines).decode('gbk')
    lists = []
    for e in lines:
      lists.append(e.decode('gbk'))
    msg_content = '\r\n'.join(lists)
    msg = Parser().parsestr(msg_content)
    result=parsing(msg,temp[2])
    print('獲取結(jié)果:',result)


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末建蹄,一起剝皮案震驚了整個(gè)濱河市碌更,隨后出現(xiàn)的幾起案子裕偿,更是在濱河造成了極大的恐慌洞慎,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘿棘,死亡現(xiàn)場(chǎng)離奇詭異劲腿,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)鸟妙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門焦人,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)挥吵,“玉大人,你說(shuō)我怎么就攤上這事花椭『鲂伲” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵矿辽,是天一觀的道長(zhǎng)丹允。 經(jīng)常有香客問(wèn)我,道長(zhǎng)袋倔,這世上最難降的妖魔是什么雕蔽? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮宾娜,結(jié)果婚禮上批狐,老公的妹妹穿的比我還像新娘。我一直安慰自己前塔,他們只是感情好嚣艇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嘱根,像睡著了一般髓废。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上该抒,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天慌洪,我揣著相機(jī)與錄音,去河邊找鬼凑保。 笑死冈爹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的欧引。 我是一名探鬼主播频伤,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼芝此!你這毒婦竟也來(lái)了憋肖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤婚苹,失蹤者是張志新(化名)和其女友劉穎岸更,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體膊升,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡怎炊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片评肆。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡债查,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瓜挽,到底是詐尸還是另有隱情盹廷,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布久橙,位于F島的核電站速和,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏剥汤。R本人自食惡果不足惜颠放,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吭敢。 院中可真熱鬧碰凶,春花似錦、人聲如沸鹿驼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)畜晰。三九已至砾莱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凄鼻,已是汗流浹背腊瑟。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留块蚌,地道東北人闰非。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像峭范,于是被迫代替她去往敵國(guó)和親财松。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容