iPhone에서 Gmail을 Exchange 설정시 본문이 깨진다?

iPhone의 메일 앱은 메일을 받기 위한 프로토콜로 IMAP, POP3, Exchange 등을 지원하고 있습니다. 메시지를 클라이언트로 다운로드하는 POP3는 거의 대부분 한번쯤은 들어봄직한 프로토콜이고, 요즘 각 사에서 지원을 확대하고 있는 IMAP 프로토콜은 서버에 직접 붙어 메시지를 보여주는 역할을 하지요(캐시와 첨부파일 다운로드를 제외하고는 메시지를 한꺼번에 다운로드하지 않습니다).



익스체인지 서버가 있어야만 이용이 가능한 Exchange 프로토콜은 구글이 MS로부터 ActiveSync를 라이선스하여 모바일용 구글 싱크를 발표하면서 일반 사용자들에게도 어느 정도 알려지고 있습니다. 특히 아이폰을 쓰는 경우, 구글 싱크로 메일, 캘린더, 주소록을 실시간 동기화할 수 있고, 특히 메일의 경우 IMAP과 POP3 프로토콜 설정시 이용이 불가능한 푸시 알림(Push Notification)을 사용할 수 있다는 점에서 큰 메리트가 있습니다.



그러나, 아이폰에서 구글 싱크로 메일을 설정하는 경우, 즉, iPhone에서 Gmail 접속을 위한 프로토콜을 Exchange로 설정시 본문내 2바이트 문자가 죄다 깨져보이는 결정적인 문제가 있습니다(저도 그래서 IMAP으로 다시 바꿨습니다). 물론 이것은 2바이트 문자가 들어있는 모든 메일이 문제가 아니라, 아래의 조건을 충족하지 않는 메일에 한하여 본문내 2바이트 문자가 깨지게 됩니다.



① 본문에 선언된 캐릭터 셋이 UTF-8인 경우 (eg. Content-Type: text/html; charset=UTF-8)

② 본문에 선언된 캐릭터 셋이 EUC-KR 등이라 하더라도 메시지 인코딩(Contents-Transfer-Encoding)을 Plain-Text(ASCII)가 아닌 Base64, Quoted-Printable 등으로 지정한 경우 (eg. Content-Transfer-Encoding: quoted-printable or Content-Transfer-Encoding: base64)



이외에 다른 조건도 있나 확인 중입니다만, 현재까지 확인한 바로는 이 두가지 중 한개라도 해당하지 않는 메일은 거의 깨진다고 보시면 됩니다.



이것이 익스체인지쪽의 문제인지, 아니면 iPhone 메일과 구글 싱크의 조합으로 발생한 문제인지는 아직 확인하지 못하였지만, 일단 사용자 입장에서는 매우 불편한 것이며, 과연 애플이나 구글이 이 문제를 해결하기 위해 무엇을 하고 있는지, 또는 무엇을 할 것인지가 불투명한 상황에서 당장 메일을 발송하는 업체들이 나서야하는 문제가 아닐까 싶습니다.



이외에도, 아이폰에서 수신한 EUC-KR 인코딩된 메일을 전달 또는 회신하면 UTF-8로 인코딩되어, 메일 본문 내 캐릭터 셋이 두개 존재하는 경우 아웃룩 등에서 메일 본문이 죄다 깨져보이는 등(이건 아웃룩에서 메일을 볼 때 인코딩을 UTF-8로 지정해주면 제대로 보입니다), 생각보다 문제가 적은 편은 아닙니다. 이참에 메일의 캐릭터셋을 전부 UTF-8로 지정하는 것도 한 방법일텐데 말이죠, 변하기란 쉽지 않죠. ⓣ