Tôi đang sử dụng bộ ký tự khá được chỉ định (ISO-8859-2) vì không phải mọi hệ thống thư (ví dụ: http://10minutemail.com ) đều có thể đọc thư UTF-8. Nếu bạn cần cái này:
function utf8_to_latin2($str)
{
return iconv ( 'utf-8', 'ISO-8859-2' , $str );
}
function my_mail($to,$s,$text,$form, $reply)
{
mail($to,utf8_to_latin2($s),utf8_to_latin2($text),
"From: $form\r\n".
"Reply-To: $reply\r\n".
"X-Mailer: PHP/" . phpversion());
}
Tôi đã thực hiện một chức năng bưu phẩm khác, vì thiết bị apple không thể đọc tốt phiên bản trước.
function utf8mail($to,$s,$body,$from_name="x",$from_a = "info@x.com", $reply="info@x.com")
{
$s= "=?utf-8?b?".base64_encode($s)."?=";
$headers = "MIME-Version: 1.0\r\n";
$headers.= "From: =?utf-8?b?".base64_encode($from_name)."?= <".$from_a.">\r\n";
$headers.= "Content-Type: text/plain;charset=utf-8\r\n";
$headers.= "Reply-To: $reply\r\n";
$headers.= "X-Mailer: PHP/" . phpversion();
mail($to, $s, $body, $headers);
}
mail()
hoặcZend_Mail
hoặcPHPMailer
? Cần một số mã của phương thức Nhà máy!