enzio92 Posted November 12, 2012 Report Share Posted November 12, 2012 (edited) Bom dia pessoal, sou novo aqui. Estou precisando de uma ajuda suas...É o seguinte, chega tudo normal (Nome, profissão etc...) Mas o anexo não chega (chega um monte de letras).Obrigadoenvia.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=2>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>'); } $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="index.html">Voltar a página inicial</a>'); ?>[/i][/color] Edited November 12, 2012 by enzio92 Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted November 12, 2012 Report Share Posted November 12, 2012 http://scriptbrasil.com.br/forum/index.php?showtopic=91109 Quote Link to comment Share on other sites More sharing options...
0 enzio92 Posted November 12, 2012 Author Report Share Posted November 12, 2012 (edited) Como posso embutir o email que irá receber os dados direto sem que a pessoa precise digitar?Obrigado aguardo respostas... Edited November 12, 2012 by enzio92 Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted November 12, 2012 Report Share Posted November 12, 2012 Simples, analise o script e tente se não conseguir retorne. Quote Link to comment Share on other sites More sharing options...
0 enzio92 Posted November 12, 2012 Author Report Share Posted November 12, 2012 Desculpa amigo, mas estou iniciando agora, tenho muito pouca noção em php, não consegui. Se puder me da mais essa ajuda ficarei muito grato. Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted November 12, 2012 Report Share Posted November 12, 2012 O e-mail será disparado para a variável $email. Quote Link to comment Share on other sites More sharing options...
0 enzio92 Posted November 12, 2012 Author Report Share Posted November 12, 2012 (edited) Não consegui ainda//pego os dados enviados pelo formulario $nome = $_POST["nome"]; $email = $_POST["email"]; $mensagem = $_POST["mensagem"]; $assunto = $_POST["assunto"]; $email_from = contato@bycompetence.com.br; Edited November 12, 2012 by enzio92 Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted November 12, 2012 Report Share Posted November 12, 2012 Leia novamente o que eu postei. Quote Link to comment Share on other sites More sharing options...
0 enzio92 Posted November 12, 2012 Author Report Share Posted November 12, 2012 Pode deixar cara, não consigo. Mas mesmo assim obrigado! Quote Link to comment Share on other sites More sharing options...
Question
enzio92
Bom dia pessoal, sou novo aqui. Estou precisando de uma ajuda suas...
É o seguinte, chega tudo normal (Nome, profissão etc...) Mas o anexo não chega (chega um monte de letras).
Obrigado
envia.php
Edited by enzio92Link to comment
Share on other sites
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.