파이썬(python)2025. 3. 8. 15:08

파이썬을 이용해서 이메일 본문을 확인하는 방법은 이전에도 정리했었는데(여기에), 여기에 기록하는 이 두번째 방법이 좀 더 괜찮은 것 같다. 이전에 정리했던 "파이썬(python)을 이용해서 이메일(eml) 파일의 보낸 사람, 받는 사람, 제목 확인 - 2"의 연장선상에 있는 방법이다.

이메일의 내용은 본문 하나만 있을 수도 있고 여러 부분으로 분할되어 있을 수도 있는데(multipart), 아래의 예제처럼 텍스트 또는 html일 경우에만 출력하도록 해 주면 되겠다.

 

import email.parser
import email.policy

# 파일 열기
f = open('my_mail.eml', 'r')

# 파일로부터 메일 데이터 가져오기
mail_data = email.parser.Parser(policy=email.policy.default).parse(f)

# multipart 여부 확인
if mail_data.is_multipart():
	print("::MULTIPART::")
	# 각 부분을 순차적으로 확인하여 처리
	for part in mail_data.walk():
		# text/plain 또는 text/html인 경우에 내용을 가져와 출력
		if part.get_content_type() in ["text/plain", "text/html"]:
			print('-----')
			print(part.get_content())
			print('-----')
else:
	print(mail_data.get_content())
728x90
Posted by 반달가면