Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Vida

[Resolvido] Formatação de E-mail recebido.

Recommended Posts

Boa tarde!

 

ontem havia criado um topico sobre como enviar e-mail com anexo. O FabianoM me ajudou muito passando alguns tutorias aqui no Imasters ao qual o Fabyo criou.

consegui resolver o problema e enviar o arquivo em anexo. Porém as informações quando as recebo vem numa linha só.Gostaria de saber como posso trata-lás pra que as informações

fiquem mais fáceis de ler.

 

Agradeço desde já.

 

$mens  = "--$boundary\n";       
$mens .= "Content-Transfer-Encoding: 8bits\n";
$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; 
$mens .= "Nome: $nome\n";
$mens .= "E-mail: $remail\n";
$mens .= "Telefone: $telefone\n";
$mens .= "Mensagem: $mensagem\n";
$mens .= "--$boundary\n";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde amigo...não sei como usar muito bem essa função!

 

Quando recebo o e-mail as informações aparecem assim pra min:

 

"Nome: Lucas Gabriel Vida E-mail: lucasvida@gmail.com Telefone: 33-33333333 Mensagem: Essa é uma mensagem teste."

 

Gostaria que ela chegasse assim no meu e-mail.

 

"Nome: Lucas Gabriel Vida

E-mail: lucasvida@gmail.com

Telefone: 33-33333333.

Mensagem: Essa é uma mensagem teste."

 

É possível formatar dessa maneira???

 

Muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucas Vida, a funcao que o matias_rezende te passou tu pode utilizar dessa maneira :

 


$mensagem = nl2br($_POST["mensagem"]) 

echo $mensagem

 

obs : nao esquece de colocar o ponto e virgula no final das funcoes o teclado aqui ta bugado =/

 

 

se isso nao te ajudar me informa como esta o forumlario que manda o email pra voce

Compartilhar este post


Link para o post
Compartilhar em outros sites

Além disto, tem que setar os headers do envio de e-mail como html. Ali você está jogando o text/html no corpo do e-mail.

 

Faz uma busca no laboratório de scripts por script para envio de e-mail. Tem vários.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigos!

Infelizmente ainda não consegui, estou aprendendo PHP agora e estou tendo um pouco de dificuldade, como posso setar os headers em formato HTML???O código tah funcionando beleza, só falta essa formatação. Para facilitar a leitura. Obrigado.

 

<?php
//Código original escrito por: Fabyo - 

if (getenv("REQUEST_METHOD") == "POST")
{

set_time_limit(0);
//só para teste mas auterem essa parte para pegar os dados via post $_POST
$nome    = $_POST['nome'];
$remail = $_POST['email'];
$mensagem = $_POST['mensagem']; 
$telefone = $_POST['telefone']; 
$assunto   = $_POST['assunto']; 
$email = "lucasvida@gmail.com";
$anexos = 0;
$boundary = "XYZ-" . date("dmYis") . "-ZYX";

$mens  = "--$boundary\n";       
$mens .= "Content-Transfer-Encoding: 8bits\n";
$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; 
$mens .= "Nome: $nome\n";
$mens .= "E-mail: $remail\n";
$mens .= "Telefone: $telefone\n";
$mens .= "Mensagem: $mensagem\n";
$mens .= "--$boundary\n";

for($i = 0; $i < count($_FILES["file"]["name"]); $i++)
{
        if(is_uploaded_file($_FILES["file"]["tmp_name"][$i])){
                $fp = fopen($_FILES["file"]["tmp_name"][$i], "rb");
                $anexo = chunk_split(base64_encode(fread($fp, $_FILES["file"]["size"][$i])));            
                fclose($fp);

                $mens .= "Content-Type: ".$_FILES["file"]["type"][$i]."\n name=\"".$_FILES["file"]["name"][$i]."\"\n";
                $mens .= "Content-Disposition: attachment; filename=\"".$_FILES["file"]["name"][$i]."\"\n";             
                $mens .= "Content-transfer-encoding:base64\n\n"; 
                $mens .= $anexo."\n";
                
                if($i + 1 == count($_FILES["file"]["name"])) 
                        $mens.= "--$boundary--"; 
                else 
                        $mens.= "--$boundary\n"; 
                
                if($_FILES["file"]['error'][$i] == 0) {
                        $anexos++;
                }               
        }       
}

$headers  = "MIME-Version: 1.0\n";
$headers .= "Date: ".date("D, d M Y H:i:s O")."\n";
$headers .= "From: \"Contato do Site\" <email_do_remetente>\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";


if(mail($email, $assunto, $mens, $headers)){

        header("Location: resposta.html");
} else {
        header("Location: erro.html");
}       
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigos!

 

Fuçando aqui e com um pouco de conhecimento de HTML e pelas dicas ao qual foi me dado no tópico eu consegui solucionar de maneira bem simples!

apenas coloquei quebra de linha junto com a variável $mens. Se mais alguém tiver esse dúvida pode fazer assim,pois aqui deu certo, só não sei se é a maneira correta.

 

$mens .= "Nome: $nome\n";
$mens .= "<br>";
$mens .= "E-mail: $remail\n";
$mens .= "<br>";
$mens .= "Telefone: $telefone\n";
$mens .= "<br>";

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.