2010-04-03 6 views
0

나는 mailmail을 사용하여 HTML 이메일을 보내고 있으며 UTF-8 문자는 Gmail에서 엉망이지만 Mac Mail에서는 보이지 않습니다. MIME 메시지의 HTML 부분에 사용 된 문자 집합을 수정하기 위해 get() 함수에 매개 변수를 추가해야한다는 것을 알았습니다. 그것은 ISO를 기본값으로 사용하고있었습니다.Mac Mail 및 Gmail에 UTF-8 이메일

그래서이 문제를 해결했습니다. 이메일 원본이 올바르게 보이지만 Gmail은 정상적으로 작동하지만 잘못된 문자 집합으로 이전에 작동 했음에도 불구하고 Mac Mail에 문제가 발생했습니다. 잘못된 문자 집합으로 돌아가는 것을 포함하여 여러 가지를 시도했지만 Mac Mail은 여전히 ​​메시지를 올바르게 렌더링하지 않습니다.

누구에게이 문제의 원인이 될 수있는 아이디어가 있습니까?

다음은 HTML이 전에 설정, 코드입니다 :

$params["host"] = "xxx"; 
$params["auth"] = true; 
$params["username"] = "xxx"; 
$params["password"] = "xxx"; 
$params["html_charset"] = "utf-8"; 
$params["head_charset"] = "utf-8"; 
$params["text_charset"] = "utf-8"; 

$text = 'Text version of email'; 
$crlf = "\n"; 

$hdrs = array(
     'From' => 'xxx', 
     'Subject' => 'xxx' 
     ); 

$mime = new Mail_mime($crlf); 

$mime->setTXTBody($text); 
$mime->setHTMLBody($html); 

$body = $mime->get($params); 
$hdrs = $mime->headers($hdrs); 

$mail =& Mail::factory('smtp', $params); 
$send = $mail->send($to, $hdrs, $body); 
if (PEAR::isError($send)) { print($send->getMessage());} else echo "Mail sent to: $to"; 
+0

이렇게 생성 된 전자 메일의 머리글을 보여줄 수 있습니까? 캐릭터는 어떻게 생겼지? –

+0

은 귀하의 메일 텍스트 및 html 유효한 utf8입니까? – cweiske

답변

0

는 내용 유형과 carset 당신의 헤더 배열에서, 같은 것을 포함 다음과 같은 작업을해야하지만, 나는 그것을 테스트 havent 한.

$hdrs = array(
    'From' => 'xxx', 
    'Subject' => 'xxx', 
    'Content-Type' => 'text/html', 
    'charset' => 'UTF-8', 
);