Cómo enviar un formulario por correo electrónico de forma automática

  • Autor Autor victorsnk
  • Fecha de inicio Fecha de inicio
V

victorsnk

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola buenas noches,

Alguien podria ayudarme en decirmo como puedo hacer para que el siguiente formulario se envie de forma automatica a mi correo? ¿Es necesario tener una Base de datos para que funcione? gracias.

Insertar CODE, HTML o PHP:
<!-- Three -->
					<section id="three">
						<h2>Estamos en contacto</h2>
						<p>Accumsan pellentesque commodo blandit enim arcu non at amet id arcu magna. Accumsan orci faucibus id eu lorem semper nunc nisi lorem vulputate lorem neque lorem ipsum dolor.</p>
						<div class="row">
							<div class="8u 12u$(small)">
								<form method="post" action="#">
									<div class="row uniform 50%">
										<div class="6u 12u$(xsmall)"><input type="text" name="name" id="name" placeholder="Name" /></div>
										<div class="6u$ 12u$(xsmall)"><input type="email" name="email" id="email" placeholder="Email" /></div>
										<div class="12u$"><textarea name="message" id="message" placeholder="Message" rows="4"></textarea></div>
									</div>
								</form>
								<ul class="actions">
									<li><input type="submit" value="Send Message" /></li>
								</ul>
 
Hola buenas noches,

Alguien podria ayudarme en decirmo como puedo hacer para que el siguiente formulario se envie de forma automatica a mi correo? ¿Es necesario tener una Base de datos para que funcione? gracias.

Insertar CODE, HTML o PHP:
<!-- Three -->
<section id="three">
<h2>Estamos en contacto</h2>
<p>Accumsan pellentesque commodo blandit enim arcu non at amet id arcu magna. Accumsan orci faucibus id eu lorem semper nunc nisi lorem vulputate lorem neque lorem ipsum dolor.</p>
<div class="row">
<div class="8u 12u$(small)">
<form method="post" action="#">
<div class="row uniform 50%">
<div class="6u 12u$(xsmall)"><input type="text" name="name" id="name" placeholder="Name" /></div>
<div class="6u$ 12u$(xsmall)"><input type="email" name="email" id="email" placeholder="Email" /></div>
<div class="12u$"><textarea name="message" id="message" placeholder="Message" rows="4"></textarea></div>
</div>
</form>
<ul class="actions">
<li><input type="submit" value="Send Message" /></li>
</ul>
Estoy desde el móvil, no puedo pegarte el código, pero mira el código fuente de esta web con formulario, en cuanto pueda te explico cada parte ,pero te lo paso ahora por si quieres ir viendo.
Un saludo.
Inf-Games-Contacta
 
Lo que debes hacer es poner en el action="" el nombre de la pagina php que va a procesar los campos del formulario.
En este archivo php se coloca algo de programación pero escencialmente es la función mail() con sus parámetros correspondientes que es la que enviará lo recibido a tu correo.

Chequea este link PHP mail() Function

Saludos.😱nthego:

Y aquí algo de teoría del formulario PHP 5 Form Handling
 
Última edición:
Pues me voy a mirar toda la faena que me habéis dado. Sinceramente, sois increíbles, rápidos y súper amables. Un saludo, en cuanto lo lea os cuento. Gracias!
 
Esta es la la solución definitiva:
Tu archivo debe quedar asi:


<section id="three">
<h2>Estamos en contacto</h2>
<p>Accumsan pellentesque commodo blandit enim arcu non at amet id arcu magna. Accumsan orci faucibus id eu lorem semper nunc nisi lorem vulputate lorem neque lorem ipsum dolor.</p>
<div class="row">
<div class="8u 12u$(small)">
<form method="post" action="send_mail.php">
<div class="row uniform 50%">
<div class="6u 12u$(xsmall)"><input type="text" name="name" id="name" placeholder="Name" /></div>
<div class="6u$ 12u$(xsmall)"><input type="email" name="email" id="email" placeholder="Email" /></div>
<div class="12u$"><textarea name="message" id="message" placeholder="Message" rows="4"></textarea></div>
</div>
</form>
<ul class="actions">
<li><input type="submit" value="Send Message" /></li>
</ul>



Luego tienes que crear un archivo send_mail.php que contenga esto:
<?php
$title = 'Nuevo Contacto';
$cuerpo = 'Nombre: '.$_POST['name'].' <br> Email: '.$_POST['email'].' <br> Mensaje: '.$_POST['message'];

$server_name = "tudominio.com";
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .="From: $server_name <no-reply@tudominio.com>\nX-Mailer: PHP/";

mail('tuemail@tuemail.com', $title, $cuerpo, $headers);

header("Location: contacto_enviado.html");
exit();
?>

- - - Actualizado - - -

Ojo que el submit esta fuera del form, debes tratar de ponerlo antes de la tag </form>
Saludos.
 
Esta es la la solución definitiva:
Tu archivo debe quedar asi:


<section id="three">
<h2>Estamos en contacto</h2>
<p>Accumsan pellentesque commodo blandit enim arcu non at amet id arcu magna. Accumsan orci faucibus id eu lorem semper nunc nisi lorem vulputate lorem neque lorem ipsum dolor.</p>
<div class="row">
<div class="8u 12u$(small)">
<form method="post" action="http://forobeta.com/send_mail.php">
<div class="row uniform 50%">
<div class="6u 12u$(xsmall)"><input type="text" name="name" id="name" placeholder="Name" /></div>
<div class="6u$ 12u$(xsmall)"><input type="email" name="email" id="email" placeholder="Email" /></div>
<div class="12u$"><textarea name="message" id="message" placeholder="Message" rows="4"></textarea></div>
</div>
</form>
<ul class="actions">
<li><input type="submit" value="Send Message" /></li>
</ul>



Luego tienes que crear un archivo send_mail.php que contenga esto:
<?php
$title = 'Nuevo Contacto';
$cuerpo = 'Nombre: '.$_POST['name'].' <br> Email: '.$_POST['email'].' <br> Mensaje: '.$_POST['message'];

$server_name = "tudominio.com";
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .="From: $server_name <no-reply@tudominio.com>\nX-Mailer: PHP/";

mail('tuemail@tuemail.com', $title, $cuerpo, $headers);

header("Location: contacto_enviado.html");
exit();
?>

- - - Actualizado - - -

Ojo que el submit esta fuera del form, debes tratar de ponerlo antes de la tag </form>
Saludos.

Muchas gracias. Donde pone, (en el .php) ¿tiene que ser el de mi propia página web o el servidor de correo? Es decir, imagina que uso un correo de yahoo, el servidor de correo no tiene nada que ver con el de la web, ¿funcionaría igual? Referente al .php creado, ¿en que carpeta del servidor lo almaceno? ¿Tiene que ir suelto donde index.html? O bien, he de escribirle en el la programación .php la ruta? Un millón de gracias!
 
Algo debo de estar haciendo mal para que no me funcione correctamente. Puede ser que envía automáticamente a un correo de Yahoo los formularios la respuestas a los formularios pero que el servidor que utilizo sea de mi propia página web?

Tengo que crear sí o sí una carpeta en el directorio raíz que se llame htpsdocs? Entonces desde el mismo panel de página web creo un archivo con el código que hemos comentado anteriormente ¿cierto?

- - - Actualizado - - -

Pues me voy a mirar toda la faena que me habéis dado. Sinceramente, sois increíbles, rápidos y súper amables. Un saludo, en cuanto lo lea os cuento. Gracias!

Hola! que raro ... esto sigue sin funcionar. ¿Que esta fallando?
 
Última edición:
Finalmente lo aregle de otra forma. Lo que ocurre es que ahora tengo otra duda. Cuando envio el formulario me lleva a la pagina de enviado correctamente. Lo que ocurre es que se queda en esa pagina, me gustaría que me hiciera volver atras y no se quedara ahi, si no que tan solo diera el mensaje. El codigo que utilizo es este:

PHP:
<?php
if (!isset($_POST['email'])) {
?>
 *<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
 * *<label>
 * * *Nombre:
 * * *<input name="name" type="text" />
 * *</label>
 * * Email:
 * * *<input name="email" type="text" />
 * *</label>
 * *<label>
 * * *Mensaje:
 * * *<textarea name="message" rows="6" cols="50"></textarea>
 * *</label>
 * *<input type="submit" value="Enviar Mensaje" />
 *</form>

<?php
}else{
 *$mensaje="MENSAJE DE CONTACTO ENVIADO DESDE LA WEB VICTORSNK.COM";
 *$mensaje.= "\nNombre: ". $_POST['name'];
 *$mensaje.= "\nEmail: ".$_POST['email'];
 *$mensaje.= "\nMensaje: \n".$_POST['message'];
 *$destino= "victorsnk@yahoo.es";
 *$remitente = $_POST['email'];
 *$asunto = "Mensaje enviado por: ".$_POST['nombre'];
 *mail($destino,$asunto,$mensaje,"FROM: $remitente");
?>
 *<p><strong>Formulario enviado correctamente.</strong></p>
<?php
}
?>

¿Como podria hacer eso?
 
Si lo que quieres es redireccionar puedes ocupar java algo como lo que sigue echo"<script language="javascript">window.location="tupaginadestino.html"</script>;"
También podrías llamar a java para que después de ciertos segundos haga el llamado, son un par de ideas

Enviado desde mi MB886 mediante Tapatalk
 
Me gusta la ultima que comentas. Qué en tres segundos me devielva
 
Atrás
Arriba