파이썬_메일 파싱

yyyyy·2020년 4월 23일
0

혼공

목록 보기
2/5

pw는 설정-보안에서 앱비밀번호(16자리) 생성해서 사용해야함

import imaplib
import email
from email.utils import parseaddr
from email.header import decode_header

imap_server = imaplib.IMAP4_SSL(host='imap.gmail.com', port='993')

my_add = '......@gmail.com'
my_pw = '.......'
imap_server.login(user=my_add, password=my_pw)

mailbox = "INBOX"
mailbox_code = imap_server.select(mailbox)

code1, mail_all = imap_server.search(None, 'ALL')

result = {}
mail_ids = mail_all[0].spilt()
print(mail_ids)

for mad in mail_ids:
        code2, data = imap_server.fetch(mid, '(RFC822)')
        mail ={}

msg = email.message_from_string(data[0][1].decode('utf-8'))

mail['From'] = parseaddr(msg['From'])[1]
mail['To'] = parseaddr(['To'])[1]

subject = decode_header(msg['Subject'])
mail['Subject'] = subject[0][0].decode('utf-8')

if msg.is_multipart():
    for part in msg.walk():
        if part.get_content_type() == 'text/plain':
            body = part.get_payload(decode=True)
            body = body.decode()
else:
    body = msg.get_payload()

mail['Body'] = body

result[int(mid.decode('utf-8'))] = mail

print(result)

imap_server.close()
profile
-스파르타코딩클럽 프로젝트

0개의 댓글