Python
imap 방식으로 메일의 첨부파일 다운 받기
앗사비
2022. 7. 6. 11:34
728x90
그냥 imap 은 불편하기 때문에
imap-tools를 설치해서 이용한다
from imap_tools import MailBox #pip install imap-tools
EMAIL_ADDRESS = "test@gmail.com" # 나의 메일 주소
EMAIL_PASSWORD = "asdfasdf" # 앱 비밀번호 https://support.google.com/mail/answer/185833?hl=ko
mailbox = MailBox("imap.gmail.com", 993)
mailbox.login(EMAIL_ADDRESS, EMAIL_PASSWORD, initial_folder="INBOX")
downloads_path = "./pdf_dn/" #임의의 하위 폴더로 지정
# limit : 최대 개수
# reverse=True : 최근 메일부터
for msg in mailbox.fetch(limit=2, reverse=True):
print("="*100)
print("제목", msg.subject)
print("발신자", msg.from_)
# print("수신자", msg.to)
print("날짜", msg.date)
# print("본문", msg.text)
# print("HTML 메시지", msg.html)
for att in msg.attachments:
# print("첨부파일 이름", att.filename)
# print("타입", att.content_type)
# print("크기", att.size)
if att.content_type == "application/pdf":
with open(downloads_path + att.filename, "wb") as f:
f.write(att.payload)
print("첨부 파일 {} 다운로드 완료".format(att.filename))
print("="*100)
mailbox.logout()
아래 영상에서 참고
https://www.youtube.com/watch?v=exgO1LFl9x8
728x90