티스토리 뷰

SWDesk

[Python] 지메일 내용 가져오기

bizmaker 2023. 11. 18. 11:03

파이썬에서 지메일로 수신된 메일 내용을 가져오는 파이썬 코드

* 특정 날짜 이후에 수신된 메일을 가져오려고 했는데, .... 잘 안됨

* 제목에 한글이 있는데, ... 한글을 표시하지 못함 

 

 

import imaplib
import datetime
from datetime import timedelta

def get_received_mail(email_address, password):
    # IMAP4 클라이언트 생성
    imap = imaplib.IMAP4_SSL("imap.gmail.com")

    # 로그인
    imap.login(email_address, password)

    # 받은 편지함으로 이동
    imap.select("INBOX")

    # 메일 목록 가져오기
    result, data = imap.search(None, f"SINCE {(datetime.datetime.now() - timedelta(days=1)).strftime('%d-%b-%Y')}")
#    result, data = imap.search(None, "ALL")

    # 수신 메일 정보 리스트 생성
    received_mails = []
    for num in data[0].split():
        # 메일 ID
        mail_id = num.decode()

        # 메일 정보 가져오기
        result, data1 = imap.fetch(mail_id, "(RFC822)")

        # 메일 헤더에서 수신 날짜와 제목 추출
        header = data1[0][1].decode("utf-8")
        print(str(header))
        received_date = header.split("Date: ")[1].strip()
        subject = header.split("Subject: ")[1].split("]")[0].strip()

        # 수신 메일 정보 리스트에 추가
        received_mails.append((received_date, subject))

    # 로그아웃
    imap.close()
    imap.logout()

    return received_mails
    
    email_address = Email Address
    password = Email Password 

    # 수신 메일 정보 가져오기
    received_mails = get_received_mail(email_address, password)

    # 수신 메일 정보 출력
    for received_date, subject in received_mails:
        print(f"수신 날짜: {received_date}")
        print(f"제목: {subject}")
반응형