que para llegue formulario enviar correos correo con codigo php email utf-8

php - para - ¿Cómo enviar un correo electrónico UTF-8?



enviar formulario a correo html5 (2)

Estoy usando un conjunto de caracteres bastante específico (ISO-8859-2) porque no todos los sistemas de correo (por ejemplo: http://10minutemail.com ) pueden leer correos UTF-8. Si necesitas esto:

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()); }

He hecho otra función de correo, porque el dispositivo Apple no podía leer bien la versión anterior.

function utf8mail($to,$s,$body,$from_name="x",$from_a = "[email protected]", $reply="[email protected]") { $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); }

Cuando envío el correo electrónico, el correo electrónico no muestra caracteres que no sean inglés. Se muestra como a continuación:

ä½ ™ ç "Ÿä» ä »

¿Puede saber realmente qué causa esto? Incluso traté de agregar Content-type y charset en el script, todavía muestra lo mismo.

Usé Mail::Factory("mail");


Puede agregar el encabezado "Content-Type: text / html; charset = UTF-8" al cuerpo de su mensaje.

$headers = "Content-Type: text/html; charset=UTF-8";

Si usa la función de mail() nativo mail() , $ headers array será el 4to parámetro mail($to, $subject, $message, $headers)

Si usa el código de PEAR Mail :: factory () será:

$smtp = Mail::factory(''smtp'', $params); $mail = $smtp->send($to, $headers, $body);