Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/01/2011, 19:57
collectiveideas
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Enviar formulario con archivo adjunto a una dirección de email

Hola,

He creado un formulario en el que se puede adjuntar un archivo, y funciona. Pero la parte que no funciona es a la hora de enviar ese formulario junto con el archivo a una dirección de email. No sé nada de programación, lo que he intentado ha sido una combinación de "corta, pega y cambia algo". Os agradecería mucho si alguien pudiera corregirme la codificación que pegaré a continuación. Gracias.

<form action="enviar.php" enctype="multipart/form-data" id="formulario" method="post" name="formulario" target="_self"><table class="b1noirarial" align="center" border="0" cellpadding="0" cellspacing="5" width="550"><tbody><tr><td width="38%"><div align="left"><b>Nombre</b><font color="#cc0000">* </font><b>:</b><font color="red"> </font></div></td><td width="62%"><input name="Nombre" size="30" type="text"></td></tr><tr><td width="38%"><div align="left"><b>Apellido</b><font color="#cc0000">*<font color="red"> </font><b>:</b><font color="red"> </font></font></div></td><td width="62%"><input name="Apellido" size="30" type="text"></td></tr><tr><td width="38%"><div align="left"><b>e-mail</b><font color="#cc0000">*</font><font color="red"> </font><b>:</b></div></td><td width="62%"><input name="Mail" size="30" type="text"></td></tr><tr><td width="38%"><div align="left"><b>Dirección : </b></div></td><td width="62%"><input name="Direccion" size="30" type="text"></td></tr><tr><td width="38%"><div align="left"><b>Código postal :</b></div></td><td width="62%"><input name="CodigoPostal" size="5" type="text"></td></tr><tr><td width="38%"><div align="left"><b>Ciudad : </b></div></td><td width="62%"><input name="Ciudad" size="30" type="text"></td></tr><tr><td width="38%"><div align="left"><b>País : </b></div></td><td width="62%"><input name="Pais" size="30" type="text"></td></tr><tr><td width="38%"><div align="left"><b>Teléfono : </b></div></td><td width="62%"><input name="tel" size="20" type="text"></td></tr><tr><td height="25" width="38%"><div align="left"><b>Adjuntar Manuscrito :</b></div></td><td height="25" width="62%"><b><input enctype="multipart/form-data" name="fichero" size="20" type="file"> </b> <input name="ficherotemp" type="hidden"></td></tr><tr><td valign="top" width="38%"><div align="left"><b>Bio autor, Sinopsis :</b></div></td><td width="62%"><b><textarea cols="45" name="promo" rows="10"></textarea></b></td></tr><tr><td colspan="2"><div align="center"><input name="submit" value="Enviar" type="submit"><input value="Borrar datos" type="Reset"></div></td></tr></tbody></table></form><p>&nbsp;</p><p>$sValor) $sTexto = $sTexto."\n".$sNombre." = ".$sValor; foreach ($_FILES as $vAdjunto) { if ($bHayFicheros == 0) { $bHayFicheros = 1; $sCabeceras .= "Content-type: multipart/mixed;"; $sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n"; $sCabeceraTexto = "----_Separador-de-mensajes_--\n"; $sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n"; $sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n"; $sTexto = $sCabeceraTexto.$sTexto; } if ($vAdjunto["size"] &gt; 0) { $sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n"; $sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";; $sAdjuntos .= "Content-Transfer-Encoding: BASE64\n"; $sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n"; $oFichero = fopen($vAdjunto["tmp_name"], 'r'); $sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"])); $sAdjuntos .= chunk_split(base64_encode($sContenido)); fclose($oFichero); } } if ($bHayFicheros) $sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n"; return(mail($sPara, $sAsunto, $sTexto, $sCabeceras)); } if (form_mail("[email protected]", $_POST[asunto], "Los datos introducidos en el formulario son:\n\n", $_POST[email])) echo "Su formulario ha sido enviado con exito"; ?&gt;</p><p>&lt; ?php $nombre = $_POST [ ' nombre ' ]; $apellido = $_POST [ ' apellido ' ]; $mail = $_POST [ ' mail ' ]; $direccion = $_POST [ ' direccion ' ]; $codigopostal = $_POST [ ' codigopostal ' ]; $ciudad = $_POST [ ' ciudad ' ]; $pais = $_POST [ ' pais ' ]; $telefono = $_POST [ ' telefono ' ]; $ficherotemp = $_POST [ ' ficherotemp ' ]; $bioautor_sinopsis =$_POST [ ' biosinopsis ' ]; $header = 'From: ' . $mail . ", de la poblacion ".$poblacion."\r\n"; $header .= "X-Mailer: PHP/" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n"; $header .= "Content-Type: text/plain"; $mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n"; $mensaje .= "Su apellido es: " . $apellido . " \r\n"; $mensaje .= "Su e-mail es: " . $mail . " \r\n"; $mensaje .= "direccion" . $_POST['direccion'] . " \r\n"; $mensaje .= "codigopostal " . $_POST['codigopostal'] . " \r\n"; $mensaje .= "ciudad " . $_POST['ciudad']. " \r\n"; $mensaje .= "pais " . $_POST['pais'] . " \r\n"; $mensaje .= "telefono " . $_POST['telefono'] . " \r\n"; $mensaje .= "ficherotemp" . $_POST['ficherotemp'] . " \r\n"; $mensaje .="biosinopsis".$_POST['biosinopsis'] . " \r\n"; $mensaje .= "Enviado el " . date('d/m/Y', time()); $para = '[email protected]'; $asunto = 'manuscrito enviado'; mail($para, $asunto, utf8_decode($mensaje), $header); echo 'mensaje enviado correctamente'; ?&gt;</p>