
imap_fetchstructure 함수의 리턴값은 메일의 구조를 나타내는 데이터를 포함하는 tuple입니다. 이 tuple에는 메일의 헤더, 본문, 첨부 파일, 등과 같은 메일의 구성 요소에 대한 정보가 포함되어 있습니다.
이 값을 해석하기 위해서는 imap4 모듈의 구조 데이터를 분석해야 합니다. 구조 데이터는 다음과 같은 형태로 구성됩니다.
- TYPE: 메일의 타입 (예: TEXT, Multipart, MESSAGE)
- DESC: 메일의 설명
- ENCODING: 메일의 인코딩 타입
- SIZE: 메일의 크기
- PARAMETERS: 메일의 파라미터
- BODY: 메일의 본문
- CHILDREN: 메일의 하위 항목
이러한 구조 데이터를 분석하여 메일의 구조를 알 수 있습니다.
해당 코드를 수정하여 메일의 구조를 분석하는 예제를 살펴보겠습니다.
#hostingforum.kr
python
import imaplib
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('내 이메일', '내 비밀번호')
mail.select('inbox')
status, messages = mail.search(None, 'ALL')
for num in messages[0].split():
status, msg = mail.fetch(num, '(RFC822)')
raw_message = msg[0][1]
# imap_fetchstructure 함수 사용
status, structure = mail.fetch(num, '(BODY[STRUCTURE])')
structure_data = structure[0][1]
# 구조 데이터를 분석하여 메일의 구조를 알 수 있습니다.
print('메일의 타입:', structure_data[0].decode('utf-8'))
print('메일의 설명:', structure_data[1].decode('utf-8'))
print('메일의 인코딩 타입:', structure_data[2].decode('utf-8'))
print('메일의 크기:', structure_data[3])
print('메일의 파라미터:', structure_data[4])
print('메일의 본문:', structure_data[5])
print('메일의 하위 항목:', structure_data[6])
이 예제에서는 imap_fetchstructure 함수의 리턴값을 분석하여 메일의 구조를 알 수 있습니다. 메일의 타입, 설명, 인코딩 타입, 크기, 파라미터, 본문, 하위 항목과 같은 메일의 구성 요소에 대한 정보를 출력합니다.
2025-07-11 13:05