wilson 0 Denunciar post Postado Março 7, 2005 Olá Pessoal... Sou inscrito no grupo php e um cara postou um código de formulário que envia anexo, entretanto, nao funciona, sendo q eu testei no meu provedor e a função mail funciona direitinho. Alguém pode dar uma luz? [COLOR=red]arquivo envia.html-----------------------------------------[/COLOR]<html><head><style type="text/css"><!--.style1 {color: #FF0000}--></style><script language="javascript">function checa_formulario(email){ if (email.nome.value == ""){ alert("Por Favor nao deixe o seu nome em branco!!!"); email.nome.focus(); return (false); } if (email.email_from.value == ""){ alert("Por Favor nao deixe o seu email em branco!!!"); email.email_from.focus(); return (false); } if (email.assunto.value == ""){ alert("Nao deixe o assunto em branco!!!"); email.assunto.focus(); return (false); }}</script><title>Enviando Imagem em anexo</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"><!--.email {text-transform: lowercase;}.texto {color: #0000FF}.style1 {color: #FF0000}--></style></head><body onLoad="document.email.nome.focus();"><form onsubmit="return checa_formulario(this)" action="envia.php"method="post" enctype="multipart/form-data" name="email"> <h1 align="center" class="style1">Formulario de email com anexo </h1> <table width="32%" border="0" align="center"> <tr> <td><div align="right"><span class="texto">Nome</span></div></td> <td><input name="nome" type="text" id="nome"></td> </tr> <tr> <td width="33%"><div align="right" class="texto">Email:</div></td> <td width="67%"><input name="email_from" type="text" class="email"></td> </tr> <input name="email" type="hidden" class="email"value="webmaster@itaimpaulista.com.br"> <input name="assunto" type="hidden" id="assunto" value="Anexo deFoto Site Itaim Paulista"> <tr> <td><div align="right" class="texto">Mensagem</div></td> <td><textarea name="mensagem" cols="50" rows="10"id="mensagem"></textarea></td> </tr> <tr> <td><div align="right" class="texto">Anexo</div></td> <td><input name="arquivo" type="file"></td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="Enviar"></td> </tr> </table></form></body></html>[COLOR=red]--------------------------------------arquivo envia.php-------------------------------------[/COLOR]<?php//pego os dados enviados pelo formulario$nome = $_POST["nome"];$email = $_POST["email"];$mensagem = $_POST["mensagem"];$assunto = $_POST["assunto"];$email_from = $_POST["email_from"];//formato o campo da mensagem$mensagem = wordwrap( $mensagem, 50, "<br>", 1);//valido os emailsif (!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=\"javascript:history.go(-1)\">Voltar</center></a>"; exit; }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_from)){ echo "<center>Digite um email valido</center>"; echo "<center><ahref=\"javascript:history.go(-1)\"><center>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); $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"; mail($email,$assunto,$mens,$headers); echo"Enviado com Sucesso!"; }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"; mail($email,$assunto,$mensagem, $headers); echo"<b><font face=verdana size=2 color=#000000>Enviado comSucesso!</font></b>";} ?> Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Março 7, 2005 Esse script ta igual ao que eu fiz, mas beleza que erro que da? Compartilhar este post Link para o post Compartilhar em outros sites
wilson 0 Denunciar post Postado Março 8, 2005 Fabyo...o problema é q eu nao recebo nada... dá que o envio foi certinho e tal... mas nao recebo nada...Wilson Compartilhar este post Link para o post Compartilhar em outros sites