2013-05-17 2 views
1

임은 구입 후 고객에게 메일을 보낼 수 있습니다. 하나의 작은 성가신 것을 제외하고는 모든 것이 잘 진행됩니다. 내 메일받은 편지함에서 구매자로 제 메일로 메일을 제품을 구입하기 위해 테스트 할 때 다음과 같습니다 http://snag.gy/grrMy.jpg <을 - 자체와 첫 번째는 UTF-8로 변경되지 후 두 번 주제를 가지고 -이 왜? 나는 그 메일을 클릭하면 갑자기에만 UTF-8 코딩 주제는 다음과 같이 (의도 한대로) 표시됩니다 : 유일한 "문제 그래서주제는 두 배가됩니다 잘못 인코딩 IPN을 사용

$to = filter_var($ipn_post_data[payer_email], FILTER_SANITIZE_EMAIL); 
     $date = date('Y-m-d'); 
     $subject = "Tack för Ert köp!/Thank you for your order!"; 
     $headerFields = array(
    'Date: ' . date('r', $_SERVER['REQUEST_TIME']), 
     "Subject: =?UTF-8?Q?".imap_8bit($subject)."?=", 
     "From: {$to}", 
    "MIME-Version: 1.0", 
    "Content-Type: text/html;charset=utf-8" 
     ); 
mail($to, $subject, $message, implode("\r\n", $headerFields)); 

: 여기

http://snag.gy/k5VyF.jpg 내가 사용하는 PHP 코드 "정말로 메일 수신자가 잘못된 인코딩으로 첫 번째 수신자와 함께 두 배로 증가하고 나 빠진다. 이것에 대한 의견이있는 사람은 누구입니까? $headerFields의 일환으로 네 번째에 한 번 한 번에 두 번째 인수에, 그리고 -

답변

1

당신은 $subject 두 번 mail()에 전달합니다.

대신 두 번째 인수로 null을 통과하십시오. 당신이 맞다 OMG 나는 일부는 감사 브로 시험했을 때

+0

, 나는 솔루션 다시 곧! –

+0

정확하게 Blazemonger가 지적했듯이 나는 실제로 그것을 깨닫지 않고 $ 주제를 두 번 통과시킵니다. 이 코드는 UTF-8로 인코딩 된 $ subject, mail ($ to, NULL, $ message, implode ("\ r \ n", $ headerFields))를 전송합니다. –

+0

다른 한가지 - "언제든지"라는 문장에서 "언제든지 다시 시작할 수 있습니다. 내가 사용하는 웹 호스트 one.com 외부의 나의 메일받은 편지함과 다르며 웹 호스트 메일에서도 동일한 메일을 보내지 만 복사본으로는 다릅니다. 그것은 똑같은 코드를 가지고 있지만, 웹 호스트 외부의 메일에서 "언제든지"로 해석되어야한다. 웹 호스트의 메일에서 단어의 중간에 공백이있는 "whene ver"로 해석된다. . 나는 그것을 메모장에 복사했으며 실제로는 공백이 있습니다. 또한 매우 중요하지 않지만 흥미 롭습니다. 왜 그런지 알아? –

관련 문제