PHP & Others

mail()함수또는 smtp로 메일 보내실때..

컨텐츠 정보

본문

제목은 반드시 2047 인코딩을 해서 보내시는것이 좋습니다.
그냥 아무 처리없이
Subject: 메일제목
이렇게 보내게 되면 같은 cp949인코딩을 쓰지 않는 메일 클라이언트에서는 메일 제목을 제대로 읽어오지 못하게되죠... 우리나라 대부분(?)웹메일은 기본적으로 euc-kr 인코딩을 사용하는 웹페이지 내에서 보여지므로 별 문제없이 출력되고 그만인데, 다른 인코딩을 사용하는 웹메일이나, 메일 클라이언트에서는 원래 인코딩을 알수없어 깨진 문자를 출력하게 됩니다.

http://www.ietf.org/rfc/rfc2047
rfc2047을 참조해서 정확한 인코딩/디코딩 함수를 만들면 좋겠지만..

그냥 euc-kr에서 메일을 작성할 경우
'안녕하세요'는
'=?euc-kr?b?vsiz58fPvLy/5A==?='
처럼 인코딩해주시면 됩니다.


<?
function encode_2047($subject) {
  return '=?euc-kr?b?'.base64_encode($subject).'?=';
}

mail('comfuture _at_ gmail.com',encode_2047('안녕하세요'),'테스트메일입니다');
?>

간단히 이렇게 만들어두시면 썬더버드같은 메일클라이언트 또는 gmail 에서도 깨지지 않은 메일 제목을 볼 수 있게 됩니다.
별것 아니지만 사소한 신경을 쓰지 않은 거대 포털들을 보면 신뢰도가 떨어지더군요

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
우정에 정력을 쏟아라. 그러면 당신에게 돌아오는 대가는 놀라울 만큼 만족스러울 것이다. 친구들이 당신을 필요로 할 때 당신이 그들에게 도움을 준다면, 당신이 후원과 위안을 얻기 위해 그들을 필요로 할 때 좋은 친구들이 도움을 줄 것이다. 롱펠로우가 말했듯이 친구를 가지려면 친구가 되어라. (어니 젤린스키 "결혼하지 않는 즐거움"中에서)