By Competence Postado Novembro 12, 2012 Denunciar Share Postado Novembro 12, 2012 É o seguinte, os outros dados chegam normal, porém o anexo não chega (chega um monte de letras) alguém sabe por que isso tá acontecendo?envia.php<?php /*Verifica qual é o sistema operacional e ajusta a quebra da linha funcional do cabeçalho de e-mail para Windows e Linux Existem diferenças entre o ambiente Linux e Windows, por isso a validação abaixo configura a variável $quebra_linha com o caracter correto para cada sistema_operacional Windows utiliza "\r\n" Linux utiliza "\n" */ if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux //define os dados do remetente (deve ser um e-mail do seu domínio conforme determina a RFC 822) $email_from = 'contato@bycompetence.com.br'; //pego os dados enviados pelo formulário $nomecompleto = $_POST['nomecompleto']; $email = $_POST['email']; $telefone = $_POST['telefone']; $txcelular = $_POST['txcelular']; $txcidade = $_POST['txcidade']; $txestado = $_POST['txestado']; $txcargo = $_POST['txcargo']; $txprofissional = $_POST['txprofissional']; $txhierarquico = $_POST['txhierarquico']; //formato o campo da mensagem $mensagem = wordwrap( $mensagem, 10000, "<br>", 1); //valido os emails if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){ echo('<center>Digite um email valido</center>'); echo('<center><a href="java script:history.go(-1)">Voltar</center></a>'); exit; } $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); $mensagem_cabecalho = '<P><FONT color=#3300ff size=5>Mensagem entregue com sucesso!!!</FONT></P> <TABLE> <TBODY> </TBODY></TABLE>'; $boundary = 'XYZ-' . date("dmYis") . '-ZYX'; $mens = '--' . $boundary . $quebra_linha; $mens .= 'Content-Transfer-Encoding: 8bits' . $quebra_linha; $mens .= 'Content-Type: text/html; charset="ISO-8859-1"' . $quebra_linha . $quebra_linha; $mens .= $mensagem_cabecalho . $quebra_linha; $mens .= $mensagem . $quebra_linha; $mens .= " $nomecompleto <BR> $email <BR> $telefone <BR> $txcelular <BR> $txcidade <BR> $txestado <BR> $txcargo <BR> $txprofissional <BR> $txhierarquico <BR>"; $mens .= '--' . $boundary . $quebra_linha; $mens .= 'Content-Type: ' . $arquivo["type"] . $quebra_linha; $mens .= 'Content-Disposition: attachment; filename="' . $arquivo["name"] . '"' . $quebra_linha; $mens .= 'Content-Transfer-Encoding: base64' . $quebra_linha . $quebra_linha; $mens .= $anexo . $quebra_linha; $mens .= '--' . $boundary . '--' . $quebra_linha; $headers = 'MIME-Version: 1.0' . $quebra_linha; $headers .= 'From: ' . $email_from . $quebra_linha; $headers .= 'Return-Path: ' . $email_from . $quebra_linha; $headers .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha; $headers .= $boundary . $quebra_linha; //envio o email com o anexo mail($email,$assunto,$mens,$headers); echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>'); } //se não tiver anexo else{ $mens .= " $nomecompleto <BR> $email <BR> $telefone <BR> $txcelular <BR> $txcidade <BR> $txestado <BR> $txcargo <BR> $txprofissional <BR> $txhierarquico <BR>"; $headers = 'MIME-Version: 1.0' . $quebra_linha; $headers .= 'Content-type: text/html; charset=iso-8859-1' . $quebra_linha; $headers .= 'From: ' . $email_from . $quebra_linha; //envia o email sem anexo mail($email,$assunto,$mens,$headers); echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>'); } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 13, 2012 Denunciar Share Postado Novembro 13, 2012 enzio92, só pra lhe avisar, o fórum mostra o IP do usuário, e no outro post você enviou o e-mail do site: contato@bycompetence.com.br.http://scriptbrasil.com.br/forum/index.php?showtopic=172359 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 By Competence Postado Novembro 13, 2012 Autor Denunciar Share Postado Novembro 13, 2012 (editado) Edgar, estou precisando de ajuda, porque está apagando meus comentários? se não quer me ajudar ok, mas deixa pra quem tem boa vontade então! Editado Novembro 13, 2012 por By Competence Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 blew Postado Novembro 13, 2012 Denunciar Share Postado Novembro 13, 2012 cara, pega uma classe pronta, chamada PHPMailerhttp://phpmailer.worxware.com/ai no site eles ensinam como que funciona o envio COM e SEM anexos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 13, 2012 Denunciar Share Postado Novembro 13, 2012 Edgar, estou precisando de ajuda, porque está apagando meus comentários? se não quer me ajudar ok, mas deixa pra quem tem boa vontade então!3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos. http://scriptbrasil.com.br/forum/index.php?act=boardrules Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 By Competence Postado Novembro 13, 2012 Autor Denunciar Share Postado Novembro 13, 2012 cara, pega uma classe pronta, chamada PHPMailerhttp://phpmailer.worxware.com/ai no site eles ensinam como que funciona o envio COM e SEM anexosMuito obrigado, vou tentar aqui. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
By Competence
É o seguinte, os outros dados chegam normal, porém o anexo não chega (chega um monte de letras) alguém sabe por que isso tá acontecendo?
envia.php
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.