반응형

이메일 전송시에는 일반 문자 그대로 전송하지 않고
일반적으로 8bit 이나 base64 방식으로 인코딩해서 전송을 합니다.

8bit 문자열은 imap_8bit() 함수를 이용해서 8bit 문자열로 인코딩할 수 있고 quoted_printable_decode() 함수를 이용해서 디코딩할 수 있습니다.

base64 는 base64_encode() 함수로 인코딩하고 base64_decode() 함수로 디코드합니다.

그런데 이메일 인코딩시에는 한가지 규칙이 있습니다.
질문에 문자들을 예를 들면...

=?EUC-KR?B?xde9usau?=

위 내용에서 앞, 뒤에 =?, ?= 는 시작과 끝을 나타내는 것이며 그 사이에 문자열을 ? 로 구분하였을 때...
EUC-KR 은 문자 형식을 말해주며 B 는 Base64 를 뜻 합니다. 만약 Q 라면 Quoted 문자열이 됩니다.
그리고 나머지가 실제 인코딩된 문자열이 되는 것이죠.

그래서 질문에 있는 문자열은 base64 로 인코딩된 문자열이고 실제 인코딩된 문자열인 'xde9usau' 부분을 base64_decode() 함수를 이용해서 디코드하면 '테스트' 라는 문자열이 됩니다.

+ Recent posts