보낸 사람,받는 사람 및 제목을 가져 오기 위해 .msg 파일을 읽으려고합니다..msg 파일의 특성 읽기.
저는이 스크립트를 기본 파이썬 라이브러리 만 설치할 수 있도록 제 작업장에서 사용하기 위해 전자 메일 모듈을 사용하려고합니다.
파이썬 웹 사이트에서 전자 메일 모듈을 사용하는 몇 가지 예를 발견했습니다. https://docs.python.org/3/library/email.examples.html
페이지 끝 부분에서는 발신자, 수신자 및 수신자를 얻는 방법에 대해 설명합니다. 나는 다음과 같은 코드를 사용하여 시도했다 :
# Import the email modules we'll need
from email import policy
from email.parser import BytesParser
with open('test_email.msg', 'rb') as fp:
msg = BytesParser(policy=policy.default).parse(fp)
# Now the header items can be accessed as a dictionary, and any non-ASCII will
# be converted to unicode:
print('To:', msg['to'])
print('From:', msg['from'])
print('Subject:', msg['subject'])
이 출력 결과 :
To: None
From: None
Subject: None
내가 파일 test_email.msg을 확인, 그것은 유효한 이메일입니다. 내가 코드
print(msg)
의 라인을 추가하면 내가 메모장에서 .msg 파일을 열었을 때
나는 왜곡 된 이메일의 출력이 동일한 얻을.
전자 메일 모듈이 발신자/수신자/제목을 올바르게 찾을 수없는 이유는 누구나 제안 할 수 있습니까?
"유효한 이메일"이 무엇입니까? 인쇄 (또는 메모장에서 여는 경우)는 "왜곡됩니다"는 경우 일반 텍스트 전자 메일 메시지 이외의 것이 있음을 나타냅니다. – larsks
"유효한 이메일"인지 어떻게 확인 했습니까? 이 문맥에서'.msg '는 무엇을 의미합니까? Python의'email' lib는 RFC5322 전자 메일 메시지 (기본적으로 형식에 대한 추가 제약 조건이있는 텍스트 파일)에서만 작동하는 반면, 독점적 인 독점 바이너리 형식을 의미하는 경우가 많습니다. – tripleee
메시지가 "왜곡 된"것으로 보일 수있는 두 가지 방법이 있습니다. 전자 메일 소스를보고 싶지 않다면 전자 메일 원본을 보지 못하고 구조가 표시되고 구조를 파악한 후에도 평신도에게도 이해할 수 있지만 "깨진 메일"이라고 할 수 있습니다. 반면에 메모장에서 사악한 이진 파일을 열고 기본적으로 사람이 읽을 수있는 텍스트의 작은 조각으로 이진 제어 코드 만 보게되면 다른 종류의 "왜곡 된"문자가됩니다. – tripleee