tubadc 0 Denunciar post Postado Agosto 11, 2005 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
rsddaros 0 Denunciar post Postado Agosto 11, 2005 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
tubadc 0 Denunciar post Postado Agosto 12, 2005 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
rsddaros 0 Denunciar post Postado Agosto 12, 2005 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