Comunidad de diseño web y desarrollo en internet online

autorespuesta personalizada de un formulario

Citar            
MensajeEscrito el 20 Feb 2008 06:13 pm
Hola a todos,
me gustaria conocer el proceso para enviar un mail de autorespuesta (que seria un html diseñado) que se autoenvia despues de rellenar un formulario al mail que se introdujo en dicho formulario.
¿Alguna pista?

gracias!!

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 20 Feb 2008 07:45 pm
no sé cuál es el problema exactamente... dinos dónde estás atascado porque es simplemente usar la función "mail" de php

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 20 Feb 2008 09:20 pm
No es que esté atascado, es que no se hacerlo..
buscaba algun tutorial donde se explicará paso a paso desde cero, si alguien conoce alguno..
gracias

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 20 Feb 2008 09:28 pm
[quote=php.net"]
bool mail ( string $para , string $asunto , string $mensaje [, string $cabeceras_adicionales [, string $parametros_adicionales ]] )
[/quote]

php.net escribió:


<?php
$para = '[email protected]';
$asunto = 'el asunto';
$mensaje = 'hola';
$cabeceras = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($para, $asunto, $mensaje, $cabeceras);
?>



posible ejemplo :

Código :

<?php
$para      = $_POST['mail']; //si el formulario lo enviamos por POST y el campo del email se llama "mail"
$asunto    = 'el asunto';
$mensaje   = 'hola';
$cabeceras = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($para, $asunto, $mensaje, $cabeceras);
?>

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 20 Feb 2008 10:50 pm
Antes que nada muchas gracias pero mi nivel de progamación es de corta y pega y poco más..
tengo una pagina html con un formuario de campos clásico, entonces tengo preguntas básicas como:
¿la página la guardo como php y listo? ¿el código donde va?
¿necesito mas páginas para el codigo de arriba? ¿donde le digo cual es la página que debe enviar como mail de respuesta?

saludos!

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 21 Feb 2008 03:03 am
Pues si estas empezando desde cero te recomendaría que primero investigaras lo que es PHP y un sevidor Apache, y si el servidor en el que estas montando la página tiene soporte para PHP u otro o ningún lenguaje de servidor. Como consejo te puedo decir que usualmente los servidores funcionan con PHP sin son con linux o si es algo de M$, con ASP.

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 21 Feb 2008 08:01 am
  • Un formulario es una página en html, php, asp, aspx, phtml, o en lo que quieras, es indiferente.

  • Un formulario ENVIA los datos (también llamados campos) a otra página para ser procesados.


  • Esa segunda página ha de ser "dinámica" para poder procesar los datos (cgi, asp, aspx, php,... ).

  • El código que he puesto es para esa segunda página.

  • Aquí te podemos ayudar, pero no hacemos tu trabajo. Por favor, estudia un poco sobre el tema y déjate lo de copiar y pegar, básicamente tu no aprendes y nosotros perdemos el tiempo.

  • Considero que el código que puse es bastante claro, incluso para alguien que no tiene ni idea.

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 21 Feb 2008 08:49 am
Disculpen; si que tengo habilitado php en mi servidor y el listado de respuesta que me has dado Conejo me sirvió de mucho, simplemente tenia dudas básicas, era lo que necesitaba, a falta de un tutorial donde se explique como hacerlo.. La verdad no me voy a poner a aprender PHP cuando yo no soy programador, sino un simpe aficionado..

Sobre esto: (Considero que el código que puse es bastante claro, incluso para alguien que no tiene ni idea); pues yo aun no veo donde le digo que pagina envia por mail... pero bueno..
Si en esta web por ejemplo hubiera un tuto de como hacer esto que debe ser muy tipico, no hubiera necesitado hacer ninguna pregunta, ni les habria hecho perder su tiempo..
muchas gracias!! me pongo y les cuento..

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 21 Feb 2008 11:06 am

Código :

$mensaje   = 'hola';


Que lo cambiar por tu HTML, por ejemplo :

Código :

$mensaje   = 'Esto es <b>HTML</b>.<br />Dentro del <i>mensaje</i>.';



Para que el email se reciba como HTML debes de cambiar ligeramente las cabeceras de la forma :

Código :

      $cabeceras = "MIME-Version: 1.0\n"; 
      $cabeceras .= "Content-type: text/html; charset=iso-8859-1\n"; 
      $cabeceras .= "From: El Webmaster <[email protected]>\n"; 
      $cabeceras .= "Reply-To: [email protected]"; 


(lo importante es el content-type text/html)


El problema es que el cliente debe de tener habilitado la recepción de mensajes en formato HTML (la mayoría lo tienen, pero puede ser que alguno no). Lo que haces no es enviar una página HTML, si no el código de esa página, como si el mensaje fuera una página en sí.

designerFreak escribió:


La verdad no me voy a poner a aprender PHP cuando yo no soy programador, sino un simpe aficionado..

¿Y? ¿Eso te sirve como excusa? Con más razón, si lo haces por "afición" será porque te gusta. Yo no trabajo de esto, ni siquiera soy informático ni estudio ing. informática, me "dedico" a esto por pura afición, por ganas de aprender otras cosas. No te lo tomes a mal, pero por lo menos a mi me gusta saber lo que hago, cómo lo hago y por qué, entender las cosas en vez de buscar el camino fácil del copy&paste y si en vez de una hora tardo cinco, pues cinco que he tardado, porque al fin y al cabo estoy haciendo lo que me gusta.

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 21 Feb 2008 04:34 pm
Ei, no me lo tomo a mal, ni quiero escusarme, evidentemente a mi tambien me gusta saber que es lo que hago, y cuando hablava de corta y pega era para escenificar mi nivel, pero tampoco lo tomes al pie de la letra. Intento comprender las cosas, pero muchas se me escapan, sobre todo las que implican pensar formulas rollo matematico. Yo solo sé de HTML y un poco de Action Script, y de hecho hasta ahora con eso me he defendido bastante bien. También te diré que gracias a esta web y a otros foros he conseguido hacer casi todo lo que me he propuesto, a veces con corta y pega y a veces no tanto.. algo supongo he aprendido. Cuando necesito hacer algo busco como hacerlo. Para este caso solo sabia que tenia que ser con PHP, por eso pregunté en este foro, pero era mi primer contacto con PHP, así que supongo que es logico que 4 lineas me suenen a chino.
Aun así te doy mil gracias porque gracias a gente que se lo curra y como tu, responde a las preguntas, esto funciona..
Quiero decir que no esperava que me pegaran el codigo o hicieran el trabajo por mi.. quizas deberia haver formulado mejor la pregunta inicial, ¿alguien sabe de algun tutorial para hacer esto de los mensages autorespuesta?? pero claro, para hacer esto, no la biblia entera de PHP.. ¿sabes?

(vaya rollo he pegado, lo siento!)

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 21 Feb 2008 04:37 pm
Resumiendo, que Si, que a mi también me gusta hacer las cosas bien y entendiendolas.. solo eso..
pero se hace lo que se puede!!

chao!!

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 24 Feb 2008 03:50 pm
Hola de nuevo,
he provado siguiendo tus instrucciones Conejo, y funciona. Gracias!!
He creado una pagina que se llama autoreply.php donde solo hay el codigo que pusiste.
En el formulario puse en Action la pagina autoreply.php así:
<form method="post" action="http://miweb.com/autoreply.php"

Lo que ocurre es que ahora despues de darle a enviar el formulario se va directamente a la pagina autoreply.php que se ve en blanco y en realidad el formulario tenia un hidden redirect a la pagina de gracias.html
¿sabes porque? ¿he descuidado algo?
y por ultimo, una pregunta de novato pero que me interesa:
Este método de autoenvio de formularios ¿es igual de seguro que usar un Form.pl, por ejemplo?

Gracias por todo!!!

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 24 Feb 2008 04:24 pm
Vaya, he corrido demasiado.. no lo hice bien, porque he cambiado a saco el action y ahora no recibo el contenido del formulario, o sea que .. mal

Entonces la pregunta sería ¿como llama el formulario a la pagina autoreply.php, si en action tiene /cgibin/FormMail.pl?

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 28 Feb 2008 03:45 am
La pagina que llama el formulario es la página que esta definida en el action, en otras palabras si escribes action="mail.php" llamara a la pagina "mail.php". Si lo que quieres es que la autoreply.php muestre el contenido de gracias.html basta con que le agregues algo como

Código :

include( 'gracias.html' );

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 28 Feb 2008 01:54 pm
Ok grácias, lo he probado pero se ve en blanco, de todos modos lo que ahora me ocurre es que ahora no llega el contenido que el usuario introdujo en el formulario, es decir necesitaria que cuando el usuario envie el formulario se envien 2 mails diferentes.
Uno de confirmación que recibe el usuario que rellena el formulario y otro que solo llega al webmaster (a mi) con los datos introducidos en el formulario. Esto es lo que tengo ahora en autoreply.php:

<?php
$para = $_POST['Mail'];
$asunto = 'Gracias por contactar';
$mensaje = 'cuerpo del mensaje'


$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: miweb>\n";
$headers .= "Bcc: mail@ miweb.com,mail2@ miweb.com\n";
$headers .= "Location: http://www.miweb.com/gracias.html\n";
$headers .= "Reply-To: [email protected]";

mail($para, $asunto, $mensaje, $headers);
?>

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 29 Feb 2008 09:59 pm
buenassss...
Primero: para que se muestre la página en html que querés que se vea luego de enviar el mail, tendrías que agregar el <? include('gracias.html') ?> que no veo en el pedazo de código que pusiste....
Segundo: en ése código sólo envías un e-mail, y vos querés enviar 2 con contenidos diferentes. Entonces básicamente tendrías que hacer lo mismo pero cambiando los datos, asi de simple.
Tercero: veo que en $mensaje has puesto "cuerpo del mensaje"... es eso literalmente lo que hay en tu código o lo cambiaste al ponerlo aqui?

saludos!

Por angel_eskarlata

68 de clabLevel



Genero:Femenino  

Baires City

opera
Citar            
MensajeEscrito el 01 Mar 2008 12:58 am
Ok, gracias!! lo acabo subido a la red y si se ve, pero en local no.. yo trabajo desde carpetas normales, no configuro el sitio en local ni nada de eso.. quizas tenga eso que ver.. prové como me decias y dupliqué el codigo para enviar el otro mail y funciona de peeerlass!! jjeje bien!!

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 01 Mar 2008 01:52 am
vaya.. tengo otra duda,
ahora no consigo que me llegue el mail del remitente, lo he intentado así?: $mensaje = $_POST['Mail','Mensaje'];
Es que ahora si pongo solo uno de los campos así si que me llega el Mail o el Mensaje..:

$_POST['Mail'];

o así:

$_POST['Mensaje'];

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 01 Mar 2008 02:23 pm
Ya lo conseguí!! urra!!

ahora lo que estoy intentando es hacer que la variable $nombre y $empresa aparezcan en negrita en el mensaje, lo he probado colocando etiquetas html <b></b> pero no funciona porque interfiere con el codigo php y me da error.
¿Alguien sabe como hacerlo? Muchas gracias!!

$mensaje .= "Mensaje enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n\r\n";

Por designerFreak

56 de clabLevel



 

safari
Citar            
MensajeEscrito el 19 Ago 2009 06:19 pm
Hola, modifique el php, para poder incribir al usuario que envia el correo, este amigo1, puede invitar a un amigo2 a que tambien se inscriba, lo que quiero es que al amigo2 le llege el correo del amigo1 pero con el nombre del amigo 1 en el from...

Código PHP :

<? 

}else{ 

//Estoy recibiendo el formulario, compongo el cuerpo 

$cuerpo = "Formulario enviado desde la pagina web" . "\n"; 

$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n"; 

$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n"; 

$cuerpo .= "Empresa: " . $HTTP_POST_VARS["empresa"] . "\n";

$cuerpo .= "Fono: " . $HTTP_POST_VARS["fono"] . "\n";  

$cuerpo .= "Mensaje: " . $HTTP_POST_VARS["coment"] . "\n"; 


//mando el correo... 

mail("[email protected]","Formulario recibido",$cuerpo); 



//doy las gracias por el env&iacute;o 

echo "Gracias por rellenar el formulario. Se ha enviado correctamente."; 

} 

?>
<?php
$para      = $_POST['mail2']; //si el formulario lo enviamos por POST y el campo del email se llama "mail"
$asunto    = 'Inscribete';
$mensaje   = 'Hola... lo que no se es poner una imagen.. jajaja, si alguien sabe como poner una imagen aqui... gracias';
$cabeceras = 'From: aja' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($para, $asunto, $mensaje, $cabeceras);
?>

Por nazcazul

0 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.