enzio92 Postado Novembro 12, 2012 Denunciar Share Postado Novembro 12, 2012 (editado) 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] Editado Novembro 12, 2012 por enzio92 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 12, 2012 Denunciar Share Postado Novembro 12, 2012 http://scriptbrasil.com.br/forum/index.php?showtopic=91109 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 enzio92 Postado Novembro 12, 2012 Autor Denunciar Share Postado Novembro 12, 2012 (editado) Como posso embutir o email que irá receber os dados direto sem que a pessoa precise digitar?Obrigado aguardo respostas... Editado Novembro 12, 2012 por enzio92 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 12, 2012 Denunciar Share Postado Novembro 12, 2012 Simples, analise o script e tente se não conseguir retorne. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 enzio92 Postado Novembro 12, 2012 Autor Denunciar Share Postado Novembro 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 12, 2012 Denunciar Share Postado Novembro 12, 2012 O e-mail será disparado para a variável $email. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 enzio92 Postado Novembro 12, 2012 Autor Denunciar Share Postado Novembro 12, 2012 (editado) 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; Editado Novembro 12, 2012 por enzio92 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 12, 2012 Denunciar Share Postado Novembro 12, 2012 Leia novamente o que eu postei. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 enzio92 Postado Novembro 12, 2012 Autor Denunciar Share Postado Novembro 12, 2012 Pode deixar cara, não consigo. Mas mesmo assim obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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
Editado por enzio92Link para o comentário
Compartilhar em outros sites
8 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.