Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 6, 2009 Solução: if(isset($_POST['nome']) && isset($_POST['anexo']) && isset($_POST['email'])){ //Recebo as variáveis do flash $nome = $_POST['nome']; $num = $_POST['num']; $file = $_POST['anexo']; $from = $_POST['email']; $email_from = $from; $email_subject = "Info From Website"; $email_txt = $_POST['mensagem']; $email_to = "seuemail@mail.com"; $headers = "From: ".$email_from; $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; //Texto do e-mail $email_message = "Mensagem: $email_txt " . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . "Mensagem: $email_txt\n\n" . "\n\n"; $email_message .= " " . "Nome: $nome" . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n"; if($file != ""){ // Anexo os arquivos $names = split(',',$file); foreach($names as $name) { if($name != ""){ $anexo = "./imagens/" . $name; $fileatt = $anexo; $fileatt_type = "application/octet-stream"; $fileatt_name = $name; $file = fopen($fileatt,'rb'); $data = chunk_split(base64_encode(fread($file,filesize($fileatt)))); fclose($file); $email_message .= "--{$mime_boundary}\n" . "Content-Type: {$fileatt_type};\n" . " name=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; echo unlink("./imagens/" . $fileatt_name); } } } $email_message .= "--{$mime_boundary}--\n"; $ok = @mail($email_to, $email_subject, $email_message, $headers); } else { echo "email invalido"; } ?> Coloque as tags HTML como você quiser dentro da variável $email_menssage Abraços Compartilhar este post Link para o post Compartilhar em outros sites
frequenciavirtual 0 Denunciar post Postado Abril 6, 2009 olá berseck Estamos quase chegando lah estou fazendo algumas alterações co codigo que você postou, adaptando para as minhas necessidades. Agora ele esta envianod o email sem as tags html, porem estou com problemas nas quebras de linha quandorecebo a mensagem. Segue meu codigo adapatado. <?php if(isset($_POST['nome']) && isset($_POST['email'])){ //Recebo as variáveis do flash $nome = $_POST['nome']; $cidade = $_POST['cidade']; $estado = $_POST['estado']; $telefone = $_POST['telefone']; $from = $_POST['email']; $email_from = $from; $email_subject = "Contato"; $email_txt = $_POST['msg']; $email_to = "contato@email_de_destino.com.br"; $headers = "From: ".$email_from; $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; //Texto do e-mail $email_message = "Mensagem: $email_txt " . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . "Mensagem: $email_txt\n\n" . "\n\n"; $email_message .= " " . "Nome: $nome" . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n"; $email_message .= "--{$mime_boundary}--\n"; $ok = @mail($email_to, $email_subject, $email_message, $headers); } else { echo "email invalido"; } ?> Estou recebendo a mensagem Assim: Mensagem: Vamos fazer um teste Nome: Frequencia Virtual A quebra de linha entra a mensagem e o nome nao esta dando certo, tentei de algumas maneiras mas devo estar errando em algum lugar. Desde já agradeço!! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 6, 2009 Eu falei use as tags html....... $email_message = "Mensagem: $email_txt <br>" . "\n\n\" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . "Mensagem: $email_txt\n\n" . "\n\n"; $email_message .= "Nome: $nome" . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n"; Coloque <br> etc... Você pode até fazer tudo de uma feita só assim: $email_message = "Mensagem: $email_txt <br>" . "\n\n\" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . "Mensagem: $email_txt<br>Nome: $nome<br>Cidade: $cidade<br> etc<br> etc" . "\n\n"; Abraços Compartilhar este post Link para o post Compartilhar em outros sites
frequenciavirtual 0 Denunciar post Postado Abril 6, 2009 Fiz assim: $email_message = "Mensagem: $email_txt <br> " . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . "Mensagem: $email_txt<br>Nome: $nome<br>Cidade: $cidade<br>Estado: $estado<br>Email: $from<br>Telefone: $telefone" . "\n\n"; O reseultado foi : Mensagem: tewtsts Nome: teste Cidade: teste Estado: teste Email: teste@ Depois fiz assim, como num exemplo que vi nos tutoriais, só que tirei alguns <br>: $email_message = "Mensagem:". $msg. "<br>"; $email_message .= "\n\n--{$mime_boundary}\n"; $email_message .= "Content-Type:text/html; charset=\"iso-8859-1\"\n"; $email_message .= "Content-Transfer-Encoding: 7bit\n\n"; $email_message .= "Esse e-mail foi enviado pelo site<br>"; $email_message .= "Nome: $nome<br>"; $email_message .= "Cidade: $cidade<br>"; $email_message .= "Estado: $estado<br>"; $email_message .= "Telefone: $telefone<br>"; $email_message .= "E-mail: $from<br>"; $email_message .= "Mensagem: $msg \n\n"; E o resultado: Esse e-mail foi enviado pelo site Nome: Teste Cidade: teste Estado: teste Telefone: 1111111111 E-mail: teste@ Mensagem: teste Problemas de quebra de linha. Pode ser uma pequena falha mas nao to conseguindo resolver. Tentei varias formas no html e nao tan dando. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 6, 2009 Tenta fazer assim: $email_message = "Mensagem:". $msg. "<br>"; $email_message .= "\n\n--{$mime_boundary}\n"; $email_message .= "Content-Type:text/html; charset=\"iso-8859-1\"\n"; $email_message .= "Content-Transfer-Encoding: 7bit\n\n"; $email_message .= "<p>" $email_message .= "Esse e-mail foi enviado pelo site"; $email_message .= "Nome:" . "$nome"; $email_message .= "Cidade:" . "$cidade"; $email_message .= "Estado:" . "$estado"; $email_message .= "Telefone:" . "$telefone"; $email_message .= "E-mail:" . "$from"; $email_message .= "Mensagem:" . "$msg"; $email_message .= "</p>"; Abraços Compartilhar este post Link para o post Compartilhar em outros sites
frequenciavirtual 0 Denunciar post Postado Abril 6, 2009 ainda nao funcionou. fiz como você citou e tambem fiz assim $email_message = "Mensagem:". $mensagem. ""; $email_message .= "\n\n--{$mime_boundary}\n"; $email_message .= "Content-Type:text/html; charset=\"iso-8859-1\"\n"; $email_message .= "Content-Transfer-Encoding: 7bit\n\n"; $email_message .= "Esse e-mail foi enviado pelo site<br>"; $email_message .= "Nome do cliente:" . "$nome" ; $email_message .= "E-mail do cliente:". "$from"; $email_message .= "Mensagem:" . "$mensagem" . "\n\n"; e tambem nao deu tambem tirei um \n do inicio e do fim e ainda assim nao deu o que percebi neste codigo é que cada vez que precisa chamar um $email_message .= acontecem duas quebras de linha. resultado: Esse e-mail foi enviado pelo site Nome do cliente: joao E-mail do cliente: fsfgsfs@dfadaf Mensagem: testetesetse testes teste Note que antes de chamar o nome do cliente tem apenas uma quebra de linha, o que seria correto. mas dali em diante todos duas quebras. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 6, 2009 Bom cara sugiro então qeu vá a area de php descobrir o código afinal isso não é de flash... No meu vem tudo certinho um em baixo do outro... então não faço ideia do que pode estar acontecendo. Para você descobrir deveria pegar o código html recebido pelo e-mail através das propriedades do e-mail assim você vai ter uma pista do que ta ocorrendo... E como lhe disse você pode sempre coloca tudo em uma linha só $email_message = "Mensagem:". $mensagem. "<br>Nome:".$nome."<br>Cidade:".$cidade; E assim por diante abraços Compartilhar este post Link para o post Compartilhar em outros sites
frequenciavirtual 0 Denunciar post Postado Abril 6, 2009 Apenas a titulo de informação Consultei no forum de PHP e nao obtive resposta. Acredito que nao obtive resposta em virtude de estar tudo certo nos codigos postados. O problema deve estar no meu outlook ja que fiz um teste enviando para o email de meu cliente e ele recebeu normalmente. Vou deixar aqui o ultimo codigo que funcionou enviando para um email diferente do meu. <?php if(isset($_POST['email']) && isset($_POST['nome']) && isset($_POST['msg'])){ $nome = $_POST['nome']; $from = $_POST['email']; $mensagem = $_POST['msg']; $email_subject = "E-mail do site"; // Assunto do e-mail $email_to = "contato@ddseventos.com.br"; // pra onde vai o e-mail $headers = "From: ".$from; $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $email_message = "Mensagem:". $mensagem. ""; $email_message .= "\n--{$mime_boundary}\n"; $email_message .= "Content-Type:text/html; charset=\"iso-8859-1\"\n"; $email_message .= "Content-Transfer-Encoding: 7bit\n\n"; $email_message .= "Esse e-mail foi enviado pelo site<br>"; $email_message .= "Nome do cliente: $nome\n"; $email_message .= "E-mail do cliente: $from\n"; $email_message .= "Mensagem: $mensagem\n" . "\n"; $ok = @mail($email_to, $email_subject, $email_message, $headers); if($ok){ echo "retval=1"; }else{ echo "retval=0"; } } else { echo "O e-mail não existe"; } ?> O problema deve realmente estar em outlook. Obrigado ao Berseck pela ajuda foi de grande valor sua contribuição.. Abraços!!! Compartilhar este post Link para o post Compartilhar em outros sites