GET OUTLOOK MAIL MESSAGE로 읽어들인 메일이 UTF-8이 아닐시 에러

안녕하세요

GET OUTLOOK MAIL MESSAGE (activity)를 이용하여 메일을 읽었을때 본문 인코딩이 UTF-8이 아니라 EUC-KR 일때 본문(MESSAGE.BODY)을 읽지 못하는데, 해결 방법을 아시는 분 있으신가요?!

오늘도 좋은 하루 되세요 :slight_smile:

안녕하세요
MailMessage.BodyEncoding 을 통해서 Encoding이 무었인지 알 수 있는 상태인거죠?
이때 MailMessage.Body 값이 읽을수 없는 string이 보이는 것인지? 아니면 아무런 문자가 없다는 것인지요?

get outlook mail messages 액티비티로 output을 mails로 저장하고
mails(0).bodyEncoding 메서드를 사용했을때

outlook 프로그램으로 들어가서
본문 우클릭 >> 소스 보기 에서 charset이 없거나 UTF8 인경우는
System.Text.ASCIIEncoding
System.Text.UTF8Encoding
mails(0).body >> 본문 읽어옴

소스 보기에서 charset이 euc-kr 이나 ks_c_5601-1987 일 경우에는 본문을 읽어들이지 못합니다
String.IsNullOrEmpty(mails(0).Body) >> true

Outlook 소스 보기에서 charset이 euc-kr 이나 ks_c_5601-1987 인 것을
Get Outlook Mail Message 로 읽은 것을 Debug 모드로 보면 Body가 다 깨져 있나요 ?
이 때 BodyEncoding 값은 뭘로 보이죠 ?

제 Local에서 Test 해 봤을 때는 Outlook 에서 소스보기로 charset이 ks_c_5601-1987 인 내용을 따로 encoding을 바꿔주는 거 없이 Studio에서 Get Outlook Mail Message 읽어보면 Body 내용이 잘 나오고, BodyEncoding 이 UTF8Encoding으로 보이네요.

테스트 outlook mail은 아래와 같고, 소스 보기로 보면 charset이 ks_c_5601-1987 입니다.
image

위 메일을 Studio에서 break 걸어서 msg내용을 보면 Body부분이 아래와 같이 보입니다.

1 Like

안녕하세요 친절한 답변 감사합니다

%EC%9D%B8%EC%BD%94%EB%94%A9%20%ED%99%95%EC%9D%B8

%EC%9D%B8%EC%BD%94%EB%94%A9%20%EB%84%90

무슨 문제인지는 모르겠지만 같은 상황인데 전 비어있는 값으로 나오네요
OUTLOOK 2016 / STUDIO는 7버전입니다

테스트로 한 메일이지만, 실제 웹에서 메일로 받았을 때 charset 이 EUC-KR 일때도 비어있는 값으로 나오네요

Get한 mail의 내용이 아무것도 없네요… ㅠㅠ

혹시 Outlook 2016의 인코딩 option 설정을 바꿔서 Test 하면 결과가 어떻게 되나요 ?

참고로 제 Test 환경 outlook 버전은 아래와 같습니다.
image