
	                	                 
이러한 문제를 해결하기 위한 방법은 두 가지가 있습니다.
1.  메시지의 Content-Transfer-Encoding 헤더를 확인하세요.
    *   메시지의 Content-Transfer-Encoding 헤더를 확인하여 이미 base64로 인코딩된 메시지인지 확인하세요.
    *   이미 base64로 인코딩된 메시지의 경우, 다시 인코딩하지 마세요.
    
#hostingforum.kr
python
import email
# ...
for num in messages[0].split():
    status, data = mail.fetch(num, '(RFC822)')
    raw_message = data[0][1]
    message = email.message_from_bytes(raw_message)
    if message.get_content_transfer_encoding() == 'base64':
        # 이미 base64로 인코딩된 메시지이므로 다시 인코딩하지 않습니다.
        print(message)
    else:
        # base64로 인코딩하지 않은 메시지이므로 인코딩합니다.
        encoded_message = base64.b64encode(raw_message)
        print(encoded_message)
2. 메시지의 본문을 직접 인코딩하세요.
* 메시지의 본문을 직접 인코딩하여 base64로 인코딩된 메시지를 식별하세요.
* 이미 base64로 인코딩된 메시지의 경우, 다시 인코딩하지 마세요.
#hostingforum.kr
python
import base64
import email
# ...
for num in messages[0].split():
    status, data = mail.fetch(num, '(RFC822)')
    raw_message = data[0][1]
    message = email.message_from_bytes(raw_message)
    if message.get_payload():
        # 메시지의 본문을 직접 인코딩합니다.
        encoded_message = base64.b64encode(message.get_payload())
        print(encoded_message)
    else:
        # 메시지의 본문이 없으므로 인코딩하지 않습니다.
        print(message)
이러한 방법 중 하나를 사용하여, 이미 base64로 인코딩된 메시지를 다시 인코딩하지 않도록 하세요.
2025-04-03 08:13