
	                	                 
이 오류는 `messages[0].split()`에서 발생합니다. `messages[0]`은 문자열이기 때문에 `split()` 메서드를 사용할 수 없습니다. 
대신, `messages[0]`을 리스트로 변환한 후 `split()` 메서드를 사용하세요.
#hostingforum.kr
python
status, messages = mail.search(None, 'ALL')
messages = messages[0].split()
또한, `message.walk()` 메서드는 이메일 본문을 가져올 때 일부 이메일에서 오류가 발생할 수 있습니다. 이 경우, `try-except` 블록을 사용하세요.
#hostingforum.kr
python
try:
    for part in message.walk():
        if part.get_content_type() == 'text/plain':
            body += part.get_payload()
except Exception as e:
    print(f"오류 발생: {e}")
이메일 본문을 가져오기 위해 다음과 같이 코드를 수정하세요.
#hostingforum.kr
python
import imaplib
import email
# 이메일 서버 접속
mail = imaplib.IMAP4('imap.gmail.com')
mail.login('내 이메일 주소', '비밀번호')
mail.select('inbox')
# 메시지 가져오기
status, messages = mail.search(None, 'ALL')
messages = messages[0].split()
for num in messages:
    status, data = mail.fetch(num, '(RFC822)')
    raw_message = data[0][1]
    message = email.message_from_bytes(raw_message)
    # 이메일 본문 가져오기
    body = ''
    try:
        if message.is_multipart():
            for part in message.walk():
                if part.get_content_type() == 'text/plain':
                    body += part.get_payload()
        else:
            body = message.get_payload()
    except Exception as e:
        print(f"오류 발생: {e}")
        continue
    print(body)
이 코드는 일부 이메일에서 오류가 발생할 수 있지만, 대부분의 이메일에서 올바르게 작동할 것입니다.
2025-07-23 21:30