2017-02-15 60 views
0

我用下面的代碼來發送電子郵件:PHP mail();如何設置字符集爲主題和電子郵件

<?php 
$to = $_POST['email']; 
$subject = "Subject!"; 
$message = "Hello!"; 
$headers = "From: Me<[email protected]>\r\n"; 
$headers .= "Return-Path: [email protected]\r\n"; 
$headers .= "BCC: [email protected]\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/plain; charset=utf-8\r\n"; 
mail($to,$subject,$message,$headers); 
?> 

雖然使用charset=utf-8在主題和電子郵件地址線的人物仍然沒有得到解碼對。我收到了這樣的字符:ößä

如何設置主題和電子郵件地址的字符集呢?

+0

你檢查所提供的答案嗎?如果它是正確的,請接受它。謝謝! – Dekel

回答

3

要編碼的電子郵件的主題,你應該使用:

$subject = '=?utf-8?B?'.base64_encode($subject).'?='; 

然後裏面的mail功能:

mail($to,$subject,...); 
+0

我可以這樣做:'mail($ to,'=?utf-8?B?'。base64_encode($ subject)。'?=',$ message,$ headers);'? – David

+1

是的,它是完全一樣的 – Dekel

+0

我試着''到''相同,但似乎不工作。電子郵件以無法投遞的方式返回。我能做什麼? – David

相關問題