저는 python 라이브러리 imaplib 및 전자 메일을 사용하여 메일을 가져 오는 중소 도구 용 Python 코드를 작성했습니다. 코드 문은 다음과 같습니다.imaplib : maintype을 결정하는 요소는 "text"또는 "multipart"입니다.
import imaplib
import email
mail = imaplib.IMAP4_SSL('imap.server')
mail.login('[email protected]', 'password')
result, data = mail.uid('search', None, "ALL")
latest_email_uid = data[0].split()[-1]
result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
raw_email = data[0][1]
email_message = email.message_from_string(raw_email)
maintype = email_message_instance.get_content_maintype()
다른 호스트 컴퓨터에서 동시에 스크립트를 실행하고 있습니다. 내가 겪고있는 문제는 메일 본문을 가져 오는 동안 같은 수신 전자 메일의 경우 첫 번째 호스트의 mac maintype은 "텍스트"로 평가되는 반면 다른 호스트 컴퓨터의 경우 스크립트 실행 중에 "다중 파트"로 평가됩니다.
이 값이 런타임에 어떻게 결정되는지 알고 싶습니다. 메인 스타일을 "multipart"로 항상 지정하려면 이메일 본문에 이메일을 쓰는 동안 어떤 표준 레이아웃을 따라야합니다. 댓글에서
그리고 한 컴퓨터의 raw_email과 다른 컴퓨터의 raw_email의 차이점은 무엇입니까? – zvone
안녕하세요. 두 경우 모두 raw_email에는 여러 값을 가진 원시 HTML 코드가 있습니다. 대부분의 모든 html 코드는 몇 가지 차이점을 제외하고는 동일합니다. maintype = multipart, Content-Type = "multipart/alternative"의 경우 boundary 태그가 있습니다. maintype = text, Content-Type = "text/html"의 경우 경계 필드가 없습니다. – nil13