imaplib는 「IMAP 프로토콜로 이메일 서버에서 메일을 읽는」 표준 라이브러리입니다.
받은 메일을 자동으로 분류·필터링·아카이브하는 자동화에 사용합니다.
연결·로그인.
import imaplib.
m = imaplib.IMAP4_SSL("imap.gmail.com").
m.login(email, app_password).
m.select("INBOX") — 폴더 선택.
typ, msg_ids = m.search(None, 'UNSEEN') — 안 읽은 메일 ID 목록.
메일 가져오기.
typ, msg_data = m.fetch(msg_id, "(RFC822)").
raw = msg_data[0][1].
import email.
msg = email.message_from_bytes(raw).
msg["Subject"], msg["From"]으로 헤더, msg.get_payload()로 본문.
분류·이동.
m.copy(msg_id, "분류된폴더") + m.store(msg_id, "+FLAGS", "\\Deleted") + m.expunge() — 다른 폴더로 이동.
m.store(msg_id, "+FLAGS", "\\Seen") — 읽음 표시.
활용 예 — 「영수증 메일은 receipts 폴더로, 광고는 자동 삭제, VIP 고객 메일은 슬랙으로 알림」 같은 개인 자동화.
단, IMAP은 약간 어색하고 까다롭습니다 — Gmail API 같은 모던 API가 더 쓰기 편한 경우 많음.
한 줄 요약
imaplib로 이메일 자동 분류·필터링·아카이브가 가능합니다.
search·fetch·copy·store가 핵심.
Gmail API 같은 모던 API가 더 편한 대안.
더 알아볼 것
- Gmail API — Google OAuth 기반
- 이메일 파싱 — email.message
- MailMan으로 GUI 분류