Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2009, 10:36
juancile
 
Fecha de Ingreso: febrero-2009
Mensajes: 176
Antigüedad: 15 años, 3 meses
Puntos: 1
Formulario PHP para servidor Linux

Hola amigos!.

Después de una larga búsqueda conseguí un formulario en PHP que es compatible con mi servidor Linux, mi único problema es que quisiera que el mail me llege a mi bandeja de entrada con el nombre que yo quiero y el asunto que quiero.

En este momento me llega en "De" con un email del servidor y con el asunto (sin asunto).

Me gustaría que llegue "De: Pepe" y "Asunto: Consulta".

Este es el formulario:
Código PHP:
<?php
$ip 
getenv ("REMOTE_ADDR") ;
?>

<form name='formulario' id='formulario' method='post' action='enviar.php' target='_self' enctype="multipart/form-data">
<p>Nombre <input type='text' name='Nombre' id='Nombre'></p>
<p>Apellido
<input type='text' name='Apellido' id='Apellido'>

</p>
<p>Telefono
<input type='text' name='Telefono' id='Telefono' />
</p>
<p>Direccion
<input type='text' name='Direccion' id='Direccion' />
</p>
<input type='hidden' name ='ip' value= <? echo "$ip"?> />
<p>Correo electronico
<input type='text' name='mail' id='mail' />
</p>
<p>Comentario</p>
 <textarea name="mensaje" cols="50" rows="10" id="mensaje"></textarea>
<p>
<input type='submit' value='Enviar'>
</p>
</form>
Este es el otro archivo que se encarga e enviar el correo:
Código PHP:
<?php
function form_mail($sPara$sasunto$sTexto$sDe)
{
$bHayFicheros 0;
$sCabeceraTexto "";
$sAdjuntos "";

if (
$sDe)$sCabeceras "From:".$sDe."\n";
else 
$sCabeceras "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach (
$_POST as $sNombre => $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"] > 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($oFicherofilesize($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));
}

//cambiar aqui el email
if (form_mail("[email protected]"$_POST[asunto],
"Los datos introducidos en el formulario son:\n\n"$_POST[email]))
?>
Ya he cambiado [email protected] por mi correo.
Espero puedan ayudarme.
Muchas Gracias!.