Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde galera, estou com um problema em um formulário de envio de email que ta me dando uma puta dor de cabeça. Na verdade antes da atualização para o php 5.6.1 estava tudo funcionando normal, até que o cliente entrou em contato comigo dizendo que o email estava chegando com caracteres estranhos. esse é o codigo original do formulario <meta http-equiv="Content-Type" content="text/html. charset=iso-8859-1" />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html. charset=utf-8" />
<title>Aquaload contato</title>
<style> font-family:"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", Verdana, sans-serif. color:#666. }
</style>
</head> <body>
<?php
zrequire_once('recaptchalib.php'). $privatekey = "6LfpifESAAAAAFH8i2-FXX6K3wzjTzO5hBOlgkez". $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]). if (!$resp->is_valid) { #nao validou die ("<script>alert('Codigo recaptcha incorreto'). history.back(1). </script>"). if (eregi('tempsite.ws$|locaweb.com.br$|hospedagemdesites.ws$|websiteseguro.com$', $_SERVER[HTTP_HOST])) { $emailsender='aquaload@aquaload.com.br'. $emailsender = "webmaster@". $_SERVER[HTTP_HOST]. // Na linha acima estamos forçando que o remetente seja 'webmaster@seudominio', // você pode alterar para que o remetente seja, por exemplo, 'contato@seudominio'.
} // Passando os dados obtidos pelo formulário para as variáveis abaixo$nomeremetente = $_POST['nomeremetente']. $emailremetente = trim($_POST['emailremetente']). $emaildestinatario = 'aquaload@aquaload.com.br'. $comcopia = trim($_POST['comcopia']). $comcopiaoculta = trim($_POST['comcopiaoculta']). $telefone = $_POST['telefone']. $ddd = $_POST['ddd']. $assunto = $_POST['assunto']. $mensagem = $_POST['mensagem']. $ip = $_SERVER['REMOTE_ADDR']. echo"<script type='text/javascript'>
alert(\"Email Obrigatorio!.\"). window.setTimeout(function(){history.go(-1)}). </script> ". exit. }echo"<script type='text/javascript'>
alert(\"Telefone Obrigatorio!.\"). window.setTimeout(function(){history.go(-1)}). </script> ". exit. }echo"<script type='text/javascript'>
alert(\"Seu nome é brigatorio!.\"). window.setTimeout(function(){history.go(-1)}). </script> ". exit. }echo"<script type='text/javascript'>
alert(\"Seu DDD é brigatorio!.\"). window.setTimeout(function(){history.go(-1)}). </script> ". exit. } / Montando a mensagem a ser enviada no corpo do e-mail. /$headers = "MIME-Version: 1.1".$quebra_linha. $headers.= "Content-Type: text/html. charset=utf-8".$quebra_linha. $headers.= "From: ".$emailsender.$quebra_linha. $headers.= "Return-Path: ". $emailsender. $quebra_linha. if(strlen($comcopia) > 0) $headers.= "Cc: ".$comcopia.$quebra_linha. if(strlen($comcopiaoculta) > 0) $headers.= "Bcc: ".$comcopiaoculta.$quebra_linha. $headers.= "Reply-To: ".$emailremetente.$quebra_linha. echo"<table width='100%' border='0' cellpadding='0' cellspacing='10'> <tr> <td align='center'><img src='ok.png' width='130' height='130' /></td> </tr> <tr> <td align='center'>Mensagem <b>$assunto</b> enviada com sucesso pelo ip $ip e foi gravado para sua segurança.<br> <br> <p><a href='".$_SERVER['HTTP_REFERER']."'>Clique aqui para enviar outra mensagem</a></p></td> </tr>
</table>?>
</body>
</html> Ja tentei acrecentar header("Content-Type: text/html. charset=ISO-8859-1"). header('Content-Type: text/html. charset=UTF-8'). mysql_query("SET NAMES 'utf8'"). mysql_query("SET character_set_connection=utf8"). mysql_query("SET character_set_client=utf8"). mysql_query("SET character_set_results=utf8"). de todas as forma possiveis e disponiveis no google que consegui, mas nada deu certo, o email continua chegando com erros de caracteres dessa forma Esse é um email enviado automaticamente pelo site Aqua Load! Nome do Remetente: mauricio lanner de freitas Email do remetente: mauriciolanner@gmail.com Telefone do remetente: (7191207940)7191207940 Mensagem:Ja esta em utf-8
Ja esta em utf-8
Não é o que a linha 1 do seu código diz...
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />
E eu achando que a solução estava na linha
$headers .= "Content-Type: text/html; charset=utf-8".$quebra_linha;
muda a codificação para utf-8, deve resolver.