Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Caracteres especiais vindo no email

01-06-2015 11:43

to com o problema do email recebido vir com caracteres especiais no caso de acentos e tudo mais, já fiz varias alterações que pesquisei na internet mas ainda não tive solução. Um help por gentileza?

<?php if (isset($_POST['BTEnvia'])){ //REMETENTE --> ESTE EMAIL TEM QUE SER VALIDO DO DOMINIO //==================================================== $email_remetente = "seuemail.com.br"; // deve ser um email do dominio //==================================================== //Configurações do email, ajustar conforme necessidade //==================================================== $email_destinatario = "seuemail.com.br"; // qualquer email pode receber os dados $email_reply = "$email"; $email_assunto = "Contato via site"; //==================================================== //Variaveis de POST, Alterar somente se necessário //==================================================== $nome = $_POST['nome']; $email = $_POST['email']; $telefone = $_POST['telefone']; $assunto = $_POST['assunto']; $mensagem = $_POST['mensagem']; //==================================================== //Monta o Corpo da Mensagem //==================================================== $email_conteudo = "<strong>Nome:</strong><br /> $nome<br /> \n"; $email_conteudo .= "<strong>Email:</strong><br /> $email<br /> \n"; $email_conteudo .= "<strong>Telefone:</strong> <br />$telefone<br /> \n"; $email_conteudo .= "<strong>Assunto:</strong><br /> $assunto<br /> \n"; $email_conteudo .= "<strong>Mensagem:</strong> <br /> $mensagem \n"; //==============================================z====== //Seta os Headers (Alerar somente caso necessario) //==================================================== $headers = "From: " . $owner . "<" . $sender_email . ">\r\n"; $headers.= 'MIME-Version: 1.0' . "\r\n"; $headers.= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $headers.= 'Content-Transfer-Encoding: 8bit'; $email_headers = implode ( "\n",array ( "From: $email_remetente", "Reply-To: $email_reply", "Subject: $email_assunto","Return-Path: $email_remetente","MIME-Version: 1.0","X-Priority: 3","Content-type: text/html; charset=UTF-8 . "\r\n";" ) ); //==================================================== //Enviando o email //==================================================== if (mail ($email_destinatario, $email_assunto, nl2br($email_conteudo), $email_headers)){ echo '<script>alert("Contato enviado com sucesso");</script>'; } else{ echo '<script>alert("Falha no envio de email, tente mais tarde");</script>'; } //==================================================== } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Caracteres especiais vindo no email

01-06-2015 14:04

Fiz um teste com seu código, e com o charset UTF-8 não tive problema na acentuação, quando o e-mail lido no formato texto.
Mas no formato HTML realmente estava dando erro. Fiz a troca do charset para ISO-8859-1 e recebi o e-mail no formato HTML sem problema com acentos.

Segue a alteração que fiz.

$email_headers = implode ( "\n", array ( "From: $email_remetente", "Reply-To: $email_reply", "Subject: $email_assunto","Return-Path: $email_remetente","MIME-Version: 1.0","X-Priority: 3","Content-type: text/html; charset=ISO-8859-1") );

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado