RPA/Python

[email] 이메일 박스 내 이메일 검색

꼰대 2021. 5. 6. 22:53

from imap_tools import MailBox

import time

 

with MailBox('imap.gmail.com', 993).login('로그인 이메일 주소', '이메일 App 비밀번호', initial_folder='INBOX'as mailbox:

    # limit : 5개까지, reverse=True : 최근 온 이메일

    for msg in mailbox.fetch(limit=5reverse=True):

        print('[{0}{1}'.format(msg.from_, msg.subject))

 

    # fetch() 속성은 https://pypi.org/project/imap-tools/ 참고

    # 읽지 않은 메일 가져오기

    for msg in mailbox.fetch('(UNSEEN)'reverse=True):

        print('[{0}{1}'.format(msg.from_, msg.subject))

 

    # 보낸사람 기준으로 메일 가져오기

    for msg in mailbox.fetch('(FROM indexer75@naver.com)'reverse=True):

        print('[{0}{1}'.format(msg.from_, msg.subject))

 

    # 제목/본문에 글자 포함되는 메일 가져오기 (한글 안됨)

    for msg in mailbox.fetch('(TEXT "test")'reverse=True):

        print('[{0}{1}'.format(msg.from_, msg.subject))

 

    # 제목에 글자 포함되는 메일 가져오기 (한글 안됨)

    for msg in mailbox.fetch('(SUBJECT "test")'reverse=True):

        print('[{0}{1}'.format(msg.from_, msg.subject))

 

    # 한글 처리

    for msg in mailbox.fetch(reverse=True):

        if '테스트' in msg.subject:

            print('[{0}{1}'.format(msg.from_, msg.subject))

 

    # 특정 날짜 이후 메일 가져오기

    for msg in mailbox.fetch('(SENTSINCE 01-May-2021)'reverse=True):

        print('[{0}{1}'.format(msg.from_, msg.subject))

 

    # 특정 날짜 메일 가져오기

    for msg in mailbox.fetch('(ON 01-May-2021)'reverse=True):

        print('[{0}{1}'.format(msg.from_, msg.subject))

 

    # 오늘 날짜 메일 가져오기

    current_date = time.strftime('%d-%b-%Y')

 

    for msg in mailbox.fetch('(ON {})'.format(current_date), reverse=True):

        print('[{0}{1}'.format(msg.from_, msg.subject))

 

    # 두가지 이상의 조건으로 메일 가져오기 (AND 조건)

    for msg in mailbox.fetch('(ON 01-May-2021 SUBJECT "test")'reverse=True):

        print('[{0}{1}'.format(msg.from_, msg.subject))

 

    # 두가지 중 하나만 만족하는 조건으로 메일 가져오기 (OR 조건)

    for msg in mailbox.fetch('(OR ON 01-May-2021 SUBJECT "test")'reverse=True):

        print('[{0}{1}'.format(msg.from_, msg.subject))

반응형