Hola, me gustaria me pudieran ayudar. Estoy creando mi pagina web con ayuda del Dreamweaver y quiero que las personas que la visitan me manden sus datos, para esto cree un formulario pero al mandarlo me abre el outlook y no quiero que haga eso. Ya lei en tutoriales y en foros que con php se puede mandar, ya hice uno con php pero tampoco lo manda, un amigo me dice que es necesario que en el servidor donde tengo mi pagina este habilitado en correo o algo por el estilo pero eso me confundio mas!!
quisiera me apoyaran con un ejemplo de un codigo en php que envie la informacion a mi correo y si me pueden recomendar algun servidor gratuito que tenga habilitada la opcion de correo
agreadezco de antemano su ayuda y espero pronta respuesta
Consulta también:
Formulario de contacto html que llegue a mi correo
Formulario html que llegue a mi correo - Mejores respuestas
Enviar formulario html a correo - Mejores respuestas
hola tenes que tener el servidor que soporte php, byethost.com tiene eso, el formulario lo tenes que guardar con extension php, <?php
// Cortesia de matedecoca@hotmail.com 18.03.2002
///////////////////////////////////////////////////
// El siguiente codigo reune todas las variables mandadas a travez del http
// post y las manda al correo electronico deseado.
// Intrucciones:
// 1) Arma el formulario que quieras.
// 2) Escribe el nombre del file en donde se encuentra este codigo en el tag
// de <form> de tu formulario ejem: <form action="mifile.php" method="post">
// 3) Corrige el mail, dominio y remitente deseado.
// 4) Todo listo, y a mandar formularios.
// El codigo se puede adaptar facilmente tambien para otros fines.
// espero que este codigo les sirva de algo.
// Cordialmente MateDeCoca
///////////////////////////////////////////////////
$msg = "Este es el contenido del formulatio mandado\n\n";
$field_name = array_keys($HTTP_POST_VARS); // guardamos todos los nombres de los "fields" existentes en el formulario
$value_name = array_values($HTTP_POST_VARS);// guardamos todos los valores en sus respectivas variables
for ($i=0;$i<count($field_name);$i++)
{
$msg .= "".$field_name[$i].": ".$value_name[$i]."\n\n"; // $msg reune el nombre de la variable y su valor
}
$recipient = "midireccion@dominiopunto.com"; // el mail deseado
$subject = "EL buen formulario"; // el titulo del mail
$mailheaders = "From: Dominio <http://dominiopunto.com> \n"; // quien lo manda y el dominio
$mailheaders .= "Reply-To: ".$mail."\n\n"; // responder a: Importante! si quieres que el replay:to funcione tienes
//que tener en el formulario un field que tiene como nombre "mail".
mail($recipient, $subject, $msg, $mailheaders);// mandamos el mail con los todos los datos
header('location:gracias.php'); // y vamos a la pagina en donde nos dan las gracias por haber llenado en formulario
?>
es porque lo tienes qque guardar en php deeguro lo estas guardando en htm y por eso no te sale nada solo el texto intentalo yo ya lo hise y si me funciono a la perfeccion.
No entiendo que tengo que poner en esta parte de la programación...!
$mailheaders .= "Reply-To: ".$mail."\n\n"; // responder a: Importante! si quieres que el replay te funcione tienes
//que tener en el formulario un field que tiene como nombre "mail".
mail($recipient, $subject, $msg, $mailheaders);// mandamos el mail con los todos los datos
Hola queria saber si alguien puede ayudarme, tengo mi sitio web y cree un formulario para que la gente me mande sus datos, (Nombre;Email;Pais;Mensaje) pero cuando mando el mensaje solo me llega la info: (email y mensaje) nombre y pais me llega en blanco y no se como hacer que funcione xD
html;
<form action="enviar.php" method="post">
<h2>CONTACTO</h2>
<input type="text" name="nombre" placeholder="nombre" required id="nombre">
<input type="text" name="email" placeholder="email" required>
<label><input type="text" name "pais" placeholder="pais" required></label>
<textarea name="mensaje" placeholder="mensaje" required></textarea>
<input type="submit" value="enviar" id="boton">
</form>
php:
<?php
$destino= "***@***";
$nombre= $_POST["nombre"];
$email= $_POST["email"];
$pais= $_POST["pais"];
$mensaje= $_POST["mensaje"];
$contenido= "nombre: " . $nombre . "\nemail: " . $email . "\npais: " . $pais . "\nmensaje: " . $mensaje;
mail($destino,"Contacto", $contenido);
header("Location:gracias.html");
?>
Si alguien encuentra el error que me ayude porfa!!
muchisimas gracias!!
Hola Karina, no se si después de tanto tiempo leerás esto, estoy probando tu código y casi funciona bien, tengo un formulario en el que todo son casillas de verificación, del tipo:
<td><input type="checkbox" name="001" value="001" />
001</td>
<td><input type="checkbox" name="002" value="002"/>
002</td>
<td><input type="checkbox" name="003" value="003"/>
003</td>
<td><input type="checkbox" name="004" value="004"/>
004</td>
<td><input type="checkbox" name="005" value="005"/>
El formulario se envía al servidor, me da este error y ahí me pierdo totalmente:
Warning: array_keys() [function.array-keys]: The first argument should be an array in /mnt/web9/51/14/52032914/htdocs/envio.php on line 27
Warning: array_values() [function.array-values]: The argument should be an array in /mnt/web9/51/14/52032914/htdocs/envio.php on line 28
las líneas de referencia son:
$field_name = array_keys($HTTP_POST_VARS)
$value_name = array_values($HTTP_POST_VARS)
El correo me llega bien aunque sin datos.
Gracias por adelantado
$mailheaders .= "Reply-To: ".$mail."\n\n"; // responder a: Importante! si quieres que el replay te funcione tienes
//que tener en el formulario un field que tiene como nombre "mail".
mail($recipient, $subject, $msg, $mailheaders);// mandamos el mail con los todos los datos
html;
<form action="enviar.php" method="post">
<h2>CONTACTO</h2>
<input type="text" name="nombre" placeholder="nombre" required id="nombre">
<input type="text" name="email" placeholder="email" required>
<label><input type="text" name "pais" placeholder="pais" required></label>
<textarea name="mensaje" placeholder="mensaje" required></textarea>
<input type="submit" value="enviar" id="boton">
</form>
php:
<?php
$destino= "***@***";
$nombre= $_POST["nombre"];
$email= $_POST["email"];
$pais= $_POST["pais"];
$mensaje= $_POST["mensaje"];
$contenido= "nombre: " . $nombre . "\nemail: " . $email . "\npais: " . $pais . "\nmensaje: " . $mensaje;
mail($destino,"Contacto", $contenido);
header("Location:gracias.html");
?>
Si alguien encuentra el error que me ayude porfa!!
muchisimas gracias!!