getemail.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:PolarNavigatorServer 作者: zhouyuhangnju 项目源码 文件源码
def checkemail(email,password,pop3_server,prenum):
    server = poplib.POP3_SSL(pop3_server, '995')
    # server = poplib.POP3(pop3_server)
    # ???????????:
    # server.set_debuglevel(1)
    # ??:??POP3????????:
    # print(time.localtime(time.time()))
    # print(server.getwelcome())
    # ????:
    server.user(email)
    server.pass_(password)
    # stat()???????????:
    # print('Messages: %s. Size: %s' % server.stat())
    # list()?????????:
    resp, mails, octets = server.list()
    # ???????????['1 82923', '2 2184', ...]
    # print(mails)
    # ????????, ??????1??:
    index = len(mails)
    if index == prenum:
        return index, None

    unseennum = index - prenum
    print('num of mails:', index)
    print('unseennum:', unseennum)
    for j in range(unseennum):
        ii = index - j
        # print(ii)
        try:
            resp, lines, octets = server.retr(ii)
            for i in range(len(lines)):

                lines[i] = lines[i].decode()

                msg_content = '\r\n'.join(lines)
                # ???????:
                msg = Parser().parsestr(msg_content)
                # subj = print_info(msg, specified_email)
                subj = print_info(msg)
                if subj != None:
                    print(subj)
                    for i in range(index):
                        server.dele(i+1)
                    server.quit()
                    return index,subj
        except Exception as e:
            # raise('exception:', e)
            print('exception:', e)
            continue

    # ???????????????????:
    server.dele(index)
    # ????:
    server.quit()
    return index,None
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号