$to = 'to@to.com';
$toName = '보내는사람';
$toName = mb_encode_mimeheader($toName, "UTF-8", "B");
$from = 'from@from.net';
$fromName = '받는사람';
$fromName = mb_encode_mimeheader($fromName, "UTF-8", "B");
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-Type: text/plain; charset=UTF-8' . "\r\n";
$headers .= 'Content-Transfer-Encoding: 8bit' . "\r\n";
$headers .= 'Content-Disposition: inline' . "\r\n";
$headers .= 'To: ' .$toName. "<$to>\r\n";
$headers .= 'From: ' .$fromName. "<$from>\r\n";
$subject = '제목';
$subject = mb_encode_mimeheader($subject, "UTF-8", "B");
$body = '내용';
mail($to, $subject, $body, $headers);
위와 같은 방식으로 메일을 보내게 되는대 이름이나 제목이 깨지는 경우가 있는대 이런경우때문에 mb_encode_mimeheader 함수를 사용하게 된다.
하지만 일부서버의 경우 이 함수를 지원하지 않을때
$preferences = array(
"input-charset" => "UTF-8",
"output-charset" => "UTF-8",
"line-length" => 76,
"line-break-chars" => "\n"
);
$preferences["scheme"] = "B";
$subject = substr(iconv_mime_encode("",$subject, $preferences),1);
와 같이 iconv 함수를 사용하여 대신한다.
이 함수는 "이름: 변환내용..." 형식으로 반환되기 때문에 이름부분을 생략하고 : 를 없애기 위해 substr 을 사용하였다.
'Story > php' 카테고리의 다른 글
php zip 으로 파일 압축하기 (0) | 2009.06.27 |
---|---|
다날 핸드폰 결제 모듈 결제 취소방법 (linux + php) (0) | 2009.06.04 |
PEAR 를 이용하여 달력 만들기 (0) | 2009.01.19 |
apache + php 환경에서 mssql connection 하기 (0) | 2009.01.19 |
아이디만들때 제약사항 체크 (0) | 2009.01.03 |