파이썬에서 Gmail 이메일을 가져오고 있으며 모두 올바르게 가져 왔습니다. 그러나 갑자기 내 이메일 중 일부는 의미가없는 임의의 문자로 들어 오기 시작했습니다.
def extract_body(payload):
if isinstance(payload,str):
return payload
else:
return '\n'.join([extract_body(part.get_payload()) for part in payload])
conn = imaplib.IMAP4_SSL("imap.gmail.com", 993)
conn.login(username, password)
conn.select()
typ, data = conn.search( None, 'FROM email@example.com')
try:
for num in data[0].split():
typ, msg_data = conn.fetch(num, '(RFC822)')
for response_part in msg_data:
if isinstance(response_part, tuple):
msg = email.message_from_bytes(response_part[1])
payload=msg.get_payload()
body=extract_body(payload)
이상한 출력 :
PEhUTUw + DQogIDxoZWFkPg0KICAgIDxNRVRBIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi0xNiI + DQogICAgPHN0eWxl Pg0KICAgICAgICAgIFREIHsgRk9OVC1TSVpFOiA5cHQ7IEZPTlQtRkFNSUxZOiB2ZXJk YW5hLCB0YWhvbWEsIGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH0NCiAgICAg ICAgICBCT0RZIHsgRk9OVC1TSVpFOiA5cHQ7IEZPTlQtRkFNSUxZOiB2ZXJkYW5hLCB0 YWhvbWEsIGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH0NCiAgICAgICAgICBT cGFuLlNtYWxsIHsgRk9OVC1TSVpFOiA4cHQ7IEZPTlQtRkFNSUxZOiB2ZXJkYW5hLCB0 YWhvbWEsIGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH0NCiAgICAgICAgICBU
정보를 가져 오는 방법에 문제가 있습니까?
슈퍼 유저에 오신 것을 환영합니다! 나는 이것을했다 (몇 년 전). base64로 가져 오는 이메일이 인코딩되어 있습니까? IIRC 나는 그것들을 해독했다. 적절한 답변을 제공하기 위해 집으로 돌아올 때까지 기다려야합니다.
—
bertieb