Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Problemas de caracteres no envio de email

$
0
0

Boa tarde galera, estou com um problema em um formulário de envio de email que ta me dando uma #@?$%~ 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>
body {
	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";
$resp = recaptcha_check_answer ($privatekey,
                                $_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>");
} else {
    #validacao ok siga com seu codigo
}


if(!isset($_POST[Submit])) die("Não recebi nenhum par&acitc;metro. Por favor volte ao formulario.html antes");
/* Medida preventiva para evitar que outros domínios sejam remetente da sua mensagem. */
if (eregi('tempsite.ws$|locaweb.com.br$|hospedagemdesites.ws$|websiteseguro.com$', $_SERVER[HTTP_HOST])) {
        $emailsender='aquaload@aquaload.com.br';
} else {
        $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'];
//email obrigatorio 
 if($emailremetente=="")
{
echo"<script type='text/javascript'>  
alert(\"Email Obrigatorio!.\");

    window.setTimeout(function(){history.go(-1)});  
 </script> ";
exit;
}
//tel obrigatoria
 if($telefone=="")
{
echo"<script type='text/javascript'>  
alert(\"Telefone Obrigatorio!.\");

    window.setTimeout(function(){history.go(-1)});  
 </script> ";
exit;
}
//nome obrigatoria
 if($nomeremetente=="")
{
echo"<script type='text/javascript'>  
alert(\"Seu nome é brigatorio!.\");

    window.setTimeout(function(){history.go(-1)});  
 </script> ";
exit;
} 
//ddd obrigatoria
 if($ddd=="")
{
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. */
$mensagemHTML = 'Esse é um email enviado automaticamente pelo site Aqua Load!

Nome do Remetente: '.$nomeremetente.'

Email do remetente: '.$emailremetente.'

Telefone do remetente: ('.$ddd.')'.$telefone.'

Mensagem:
'.$mensagem.'

Ip do remetente: '.$ip.'';
 
 
/* Montando o cabeçalho da mensagem */
$headers = "MIME-Version: 1.1".$quebra_linha;
$headers .= "Content-Type: text/html; charset=utf-8".$quebra_linha;
// Perceba que a linha acima contém "text/html", sem essa linha, a mensagem não chegará formatada.
$headers .= "From: ".$emailsender.$quebra_linha;
$headers .= "Return-Path: " . $emailsender . $quebra_linha;
// Esses dois "if's" abaixo são porque o Postfix obriga que se um cabeçalho for especificado, deverá haver um valor.
// Se não houver um valor, o item não deverá ser especificado.
if(strlen($comcopia) > 0) $headers .= "Cc: ".$comcopia.$quebra_linha;
if(strlen($comcopiaoculta) > 0) $headers .= "Bcc: ".$comcopiaoculta.$quebra_linha;
$headers .= "Reply-To: ".$emailremetente.$quebra_linha;
// Note que o e-mail do remetente será usado no campo Reply-To (Responder Para)
 
/* Enviando a mensagem */
mail($emaildestinatario, $assunto, $mensagemHTML, $headers, "-r". $emailsender);
 
/* Mostrando na tela as informações enviadas por e-mail */
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:
açaí com açúcar não

Ip do remetente: 201.50.13.74

Alguem sabe uma maneira de ajustar isso?

 


Viewing all articles
Browse latest Browse all 14190

Trending Articles