Ir para conteúdo

Arquivado

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

tubadc

Form com anexo chega desconfigurado.....

Recommended Posts

Olá galera,

 

Bom estive trabalhando em cima do script do Fabyo, sobre email com anexo.... porem o email tava chegando somente com o anexo sem a mensagem, ai resolvi dar uma mechida no codigo pra ver oq era, fiz uma array pra $mensagem junto com um while pra listar os campos, ai agora tá cheando a mensagem, porem o anexo vem no copro do email tudo aquele monte de simbolo......pq???? alguem sabe como arrumar....

 

PHP

[*]<?php

[*]

[*]//pego os dados enviados pelo formulario

[*]$nome = $_POST["nome"];

[*]$empresa = $_POST["empresa"];

[*]$cnpj = $_POST["cnpj"];

[*]$telefone = $_POST["telefone"];

[*]$email = $_POST["email"];

[*]$release = $_POST["release"];

[*]

[*]//formato o campo da mensagem

[*]$mensagem = "Envio de release : Espaço Fornecedor em ".date("d/m/Y").", os dados seguem abaixo: .\n\n\n";

[*]while(list($campo, $valor) = each($HTTP_POST_VARS)) {

[*]$mensagem .= ucwords($campo).": ".$valor.".\n\n";

[*]}

[*]

[*]$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;

[*]

[*]if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){

[*]

[*]$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");

[*]$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));

[*]$anexo = base64_encode($anexo)

[*]

[*]fclose($fp);

[*]

[*]$anexo = chunk_split($anexo)

[*]

[*]

[*]$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"//plain

[*] $mens .= "$mensagem\n";

[*] $mens .= "--$boundary\n";

[*]$mens .= "Content-Type: ".$arquivo["type"]."\n"

[*]$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"

[*]$mens .= "Content-Transfer-Encoding: base64\n\n"

[*]$mens .= "$anexo\n"

[*]$mens .= "--$boundary--\r\n"

[*]

[*]$headers = "MIME-Version: 1.0\n"

[*]$headers .= "From: \"$nome\" <$email_from>\r\n"

[*]$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"

[*]$headers .= "$boundary\n";

[*]

[*]//envio o email com o anexo

[*]mail("danilo@midascomunicacao.com.br","Formulário de Release Fornecedor",$mens,$mensagem,$headers)

[*]

[*]echo "<center><b><font color='blue'>Release enviado com sucesso!!</font></b></center>";

[*]echo "<br>";

[*]echo "<center><a href='index1.php'>voltar para página principal</a>";

[*]echo "<br><br>";

[*]

[*]}

[*]

[*]//se nao tiver anexo

[*]else{

[*]

[*]$headers = "MIME-Version: 1.0\r\n";

[*]$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

[*]$headers .= "From: \"$nome\" <$email_from>\r\n";

[*]

[*]//envia o email sem anexo

[*]mail("danilo@midascomunicacao.com.br","Formulário de Release Fornecedor",$mensagem, $headers);

[*]

[*]echo "<center><b><font color='blue'>Release enviado com sucesso!!</font></b></center>";

[*]echo "<br>";

[*]echo "<center><a href='index1.php'>voltar para página principal</a>";

[*]echo "<br><br>";

[*]

[*]}

[*]

[*]?>

 

 

Abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem certas horas na vida que a melhor solução é fazer tudo de novo!

então para te ajudar te passo um codigo que fiz depois de 4 dias tentando e quebrando a cabeça.....

é simples so tinha que juntar tosdas as variaveis em uma unica variavel!!!

Abraços...

Qualque duvida posta ai....

PHP

[*]

[*]<?php

[*]

[*]//pego os dados enviados pelo formulario

[*]$email = "amostra@laboratorioantivirus.com.br";

[*]$assunto = "Envio de Arquivo Infectado";

[*]$email_from = $_POST["email_from"];

[*]$nome = $_POST["nome"];

[*]$email2 = $_POST["email2"];

[*]$endereco = $_POST["endereco"];

[*]$telefone = $_POST["telefone"];

[*]$receberemail =$_POST["receberemail"];

[*]$so = $_POST["so"];

[*]$antivirus = $_POST["antivirus"];

[*]$nome_antivirus = $_POST["nome_antivirus"];

[*]$sintomas = $_POST["sintomas"];

[*]

[*]

[*]$todos = "Nome...: $nome <br> E-mail...: $email2 <br> Endereço...: $endereco <br> Telefone...: $telefone <br> Quer receber informativos...? $receberemail <br> Sistema operacional utilizado...: $so <br> Tem Antivírus...? $anti_virus <br> Nome do Antivírus...: $nome_antivirus <br> Sintomas do computador <p> $sintomas <p>  ";

[*]$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;

[*]

[*]if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){

[*]

[*]$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");

[*]$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));

[*]$anexo = base64_encode($anexo)

[*]

[*]fclose($fp);

[*]

[*]$anexo = chunk_split($anexo)

[*]

[*]

[*]$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"//plain

[*]  $mens .= "$todos\n";

[*]  $mens .= "--$boundary\n";

[*] $mens .= "Content-Type: ".$arquivo["type"]."\n"

[*]$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"

[*]$mens .= "Content-Transfer-Encoding: base64\n\n"

[*]$mens .= "$anexo\n"

[*]$mens .= "--$boundary--\r\n"

[*]

[*]

[*]$headers = "MIME-Version: 1.0\n"

[*]$headers .= "From: <$email_from>\r\n"

[*]$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"

[*]$headers .= "$boundary\n";

[*]

[*]//envio o email com o anexo

[*]mail($email,$assunto,$mens,$headers)

[*]

[*]echo"<center>Email enviado com Sucesso!. <br>Você esta sendo redirecionado para a pagina inicial do site.</center><br>"

[*]$resmaior = '<META HTTP-EQUIV = "REFRESH" CONTENT="1;URL=index.html "/>';

[*]echo " $resmaior";

[*]

[*]}

[*]

[*]//se nao tiver anexo

[*]else{

[*]

[*]$headers = "MIME-Version: 1.0\r\n";

[*]$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

[*]$headers .= "From: <$email_from>\r\n";

[*]

[*]//envia o email sem anexo

[*]mail( $email , $assunto , $mens , $headers );

[*]

[*]echo"Email enviado com Sucesso!"

[*]

[*]}

[*]

[*]?>

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara muito obrigado, não tinha reparado que as strings não estavam setadas para um unico alvo,, apenas alterei os comandos de <br> para .\n, pois os brs estavam sendo impressos...Muito obrigado mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara muito obrigado, não tinha reparado que as strings não estavam setadas para um unico alvo,, apenas alterei os comandos de <br> para .\n, pois os brs estavam sendo impressos...

 

Muito obrigado mesmo.

<{POST_SNAPBACK}>

Tambem tenho muitos problemas como esses...

Mas o que pesso a todos é que passe seu conhecimento!!

T+

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.