Foros del Web » Programando para Internet » PHP »

Formulario de contacto en PHP

Estas en el tema de Formulario de contacto en PHP en el foro de PHP en Foros del Web. Tengo el siguiente formulario de contacto: Código HTML: <form action= "enviado.php" method= "post" name= "contacto" id= "contacto" "multipart/form-data"> <table width= "330" border= "0" align= "center" ...
  #1 (permalink)  
Antiguo 26/06/2013, 10:26
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 14 años
Puntos: 1
Formulario de contacto en PHP

Tengo el siguiente formulario de contacto:

Código HTML:
<form  action="enviado.php" method="post" name="contacto" id="contacto" "multipart/form-data">
<table width="330" border="0" align="center" cellpadding="5" cellspacing="2">
<tr>
<td colspan="2" valign="bottom"><div align="center"><span class="Estilo2">Pongase en contacto con nosotros</span></div></td>
</tr>
<tr>
<td width="71" class="Estilo1">Empresa:</td>
<td width="233"><input name="mempresa" type="text" class="Estilo1" id="mempresa" size="32" /></td>
</tr>
<tr>
<td class="Estilo1">Nombre:</td>
<td><input name="mnombre" type="text" class="Estilo1" id="mnombre" size="32" /></td>
</tr>
<tr>
<td class="Estilo1">Email:</td>
<td><input name="mcorreo" type="text" class="Estilo1" id="mcorreo" size="32" /></td>
</tr>
<tr>
<td class="Estilo1">Teléfono:</td>
<td><input name="mtelefono" type="text" class="Estilo1" id="mtelefono" size="32" /></td>
</tr>
<tr>
<td class="Estilo1">Area:</td>
<td><label>
<select name="mlista" class="Estilo1" id="mlista">
<option value="1">Dpto. de Ventas</option>
<option value="2">Dpto. de Administración</option>
<option value="3">Dpto. Técnico y Arquitectura</option>
</select>
</label></td>
</tr>
<tr>
<td class="Estilo1">Consulta:</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<textarea name="mcomentario" cols="51" rows="6" class="Estilo1" id="mcomentario"></textarea>
</div></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="Submit" type="submit" class="Estilo1" value="    Enviar    " />
</div></td>
</tr>
</table>
</form> 
Código PHP:
<?php 

//Se recogen los datos del formulario para montar el cuerpo del mensaje. 
//primero recibes las variables del form con POST  

$mempresa $_POST["mempresa"];  
$mnombre $_POST["mnombre"];  
$mtelefono $_POST["mtelefono"];  
$mcomentario $_POST["mcomentario"];  
$mcorreo $_POST["mcorreo"];  
$mlista $_POST["mlista"]; 

//y ahora incluyes las variables del form en el mensaje  
$mensaje .="EMPRESA:"$mempresa ."\n";  
$mensaje .="NOMBRE: ".$mnombre." \n";  
$mensaje .="TELEFONO:".$mtelefono." \n";  
$mensaje .="CONSULTA: ".$mcomentario." \n";  
          

// Se monta la cabecera del mensaje. 
         
$cabeceras "From:<$mcorreo>\n"

//Se configuran las propiedades del cuerpo del mensaje 
            
$body_top "--Message-Boundary\n"
            
$body_top .= "Content-type: text/plain;charset=US-ASCII\n"
            
$body_top .= "Content-transfer-encoding: 7BIT\n"
            
$body_top .= "Content-description: Mail messagebody\n"
          
$cuerpo $mensaje

/*Se establece el destino del mensaje. que dependera de la opcion de la lista*/ 

if ($_POST['mlista']==1)  
{  
   
$destino="[email protected]";  
}  
if (
$_POST['mlista']==2)  
{  
   
$destino="[email protected]";  
}  
if (
$_POST['mlista']==3)  
{  
   
$destino="[email protected]";  
}   


         echo (
"<center><b><font size='5' color='#999999' face='Trebuchet MS, Verdana'>"); 

         if (!
mail("Formulario recibido satisfactoriamente",$destino,$morigen,$cuerpo,$cabeceras)) 
         { 
            echo (
"Tu Mensaje fue enviado"); 
         } else { 
            echo (
"SE HA PRODUCIDO UN ERROR"); 
         } 

       echo (
"</center></font></b>"); 

 
?>
El correo llega y todo, pero dice que es enviado desde el correo de mi hosting, me ayudan a modificarlo para que llegue como que lo envió desde su correo por favor! he estado toda la noche en esto :(

Quiero que llegue a la bandeja de entrar y responder de inmediato, no tener que hacer clic en redactar o en el link del email.

Muchas gracias.
__________________
Tu mente es capaz de todo...
  #2 (permalink)  
Antiguo 26/06/2013, 12:19
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formulario de contacto en PHP

Por cuestiones de seguridad y evitar abuso de spam, muchos servidores están configurados para que aparezca tu cuenta al enviar un correo.

Lo que puedes hacer es crear un encabezado para responder a otra cuenta, ejemplo: http://php.net/manual/en/function.mail.php#example-3315

En From: dejas tu cuenta, como lo haces normalmente y en Reply-To: pones la cuenta a la que se debe responder y, listo, funcionará como esperas.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 26/06/2013, 16:30
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 14 años
Puntos: 1
Respuesta: Formulario de contacto en PHP

Cita:
Iniciado por Triby Ver Mensaje
Por cuestiones de seguridad y evitar abuso de spam, muchos servidores están configurados para que aparezca tu cuenta al enviar un correo.

Lo que puedes hacer es crear un encabezado para responder a otra cuenta, ejemplo: [url]http://php.net/manual/en/function.mail.php#example-3315[/url]

En From: dejas tu cuenta, como lo haces normalmente y en Reply-To: pones la cuenta a la que se debe responder y, listo, funcionará como esperas.
Hola, me puedes decir como agregarlo a mi codigo, yo lo he agregado pero no me envia el email. :S

Por favor.
__________________
Tu mente es capaz de todo...
  #4 (permalink)  
Antiguo 26/06/2013, 17:29
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 14 años
Puntos: 1
Respuesta: Formulario de contacto en PHP

Este me envia el correo como yo quiero, pero no me muestra el asunto:

<?php

//Se recogen los datos del formulario para montar el cuerpo del mensaje.
//primero recibes las variables del form con POST

$mempresa = $_POST["mempresa"];
$mnombre = $_POST["mnombre"];
$mtelefono = $_POST["mtelefono"];
$mcomentario = $_POST["mcomentario"];
$mcorreo = $_POST["mcorreo"];
$mlista = $_POST["mlista"];

//y ahora incluyes las variables del form en el mensaje
$mensaje .="EMPRESA:". $mempresa ."\n";
$mensaje .="NOMBRE: ".$mnombre." \n";
$mensaje .="TELEFONO:".$mtelefono." \n";
$mensaje .="CONSULTA: ".$mcomentario." \n";


// Se monta la cabecera del mensaje.
$cabeceras = "From:<$mcorreo>\n";

//Se configuran las propiedades del cuerpo del mensaje
$body_top = "--Message-Boundary\n";
$body_top .= "Content-type: text/plain;charset=US-ASCII\n";
$body_top .= "Content-transfer-encoding: 7BIT\n";
$body_top .= "Content-description: Mail messagebody\n";
$cuerpo = $mensaje;

/*Se establece el destino del mensaje. que dependera de la opcion de la lista*/

if ($_POST['mlista']==1)
{
$destino="[email protected]";
}
if ($_POST['mlista']==2)
{
$destino="[email protected]";
}
if ($_POST['mlista']==3)
{
$destino="[email protected]";
}


echo ("<center><b><font size='5' color='#999999' face='Trebuchet MS, Verdana'>");

if (!mail("Formulario recibido satisfactoriamente",$destino,$morigen,$cuerpo,$cab eceras))
{
echo ("Tu Mensaje fue enviado");
} else {
echo ("SE HA PRODUCIDO UN ERROR");
}

echo ("</center></font></b>");

?>
__________________
Tu mente es capaz de todo...

Etiquetas: contacto, formulario, select, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:11.