Foros del Web » Programando para Internet » PHP »

Autorresponder

Estas en el tema de Autorresponder en el foro de PHP en Foros del Web. Hola de nuevo. Ahora necesito ayuda sobre algo más sencillo. Necesito hacer un form que envíe al remitente un mensaje de autorrespuesta que permita enviar ...
  #1 (permalink)  
Antiguo 16/05/2006, 11:11
 
Fecha de Ingreso: mayo-2006
Mensajes: 11
Antigüedad: 18 años
Puntos: 0
Autorresponder

Hola de nuevo. Ahora necesito ayuda sobre algo más sencillo.

Necesito hacer un form que envíe al remitente un mensaje de autorrespuesta que permita enviar un reclamo a una casilla en caso que el correo no sea respondido, del tipo "Gracias por escribirnos. Si Ud. no obtiene respuesta en las próximas 24 horas, solicitamos informarlo a [email protected]".

Me interesa sólo el código de la autorrespuesta, el resto ya lo sé hacer.

Gracias.
  #2 (permalink)  
Antiguo 16/05/2006, 12:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero .. tu sabes enviar un e-mail? (con PHP)

se trata de que al recibir y procesar tus datos de ese formulario .. ahí envias un e-mail con mail() (www.php.net/mail)

Realmente no entedí cuando debe ser emitido ese e-mail .. pero si hablas de un "formulario" .. a un script PHP ha de parar y es ahí donde puedes emitir tu e-mail, tanto si lo envias a alguien para que lo atienda como al própio usuarios de ese "formulario" que por algún lado (campo del mismo) se le debe haber pedido su e-mail.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 16/05/2006, 13:39
 
Fecha de Ingreso: mayo-2006
Mensajes: 11
Antigüedad: 18 años
Puntos: 0
Pregunta

A ver, en términos simples.

1. Tengo un formulario PHP que funciona con mail() y tiene varios campos.
2. Uno de los campos es un text field que pide la dirección de correo electrónico.
3. Supongamos que la persona llena el formulario, incluyendo su dirección de email.
4. Mi idea es que esa persona reciba un correo luego reiterando la información enviada a través de mail() y datos adicionales, como por ejemplo una dirección de correo distinta para reclamar si es que no hay un contacto posterior.
  #4 (permalink)  
Antiguo 16/05/2006, 14:04
Avatar de CarlosMex  
Fecha de Ingreso: mayo-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
gatricio, yo estoy usando este formulario que sirve para enviar a una cuenta que previamente registré, y le reenvía en html una copia de lo que envió y a mi me llega también otra copia.

Lo estoy impelmentando.

Código PHP:
<?
//estos datos vienen del formulario
//paso variables
$Nombre=$_POST["Nombre"];
$Apellido=$_POST["Apellido"];
$email=$_POST["email"];
$Mensaje=$_POST["Mensaje"];

//y estos de la BD
$id=$_POST["_id"];
$reseremail=$_POST["reseremail"];

//comienzo a llenar los reipientes del correo
// multiples recipientes
$para  $reseremail  ', '//este viene de la BD
$para .= $email//y este lo ingresó el usuario en el formulario

// asunto
$asunto 'Solicitud de Informes';

// mensaje
$mensaje "El mensaje en HTML"//recorte el msg en html que llega bien

// para correo HTML
$cabeceras  'MIME-Version: 1.0' "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

// cabeceras adicionales
$cabeceras .= 'From: Mi Nombre <[email protected]"\r\n";
$cabeceras .= 'Cc: [email protected]"\r\n"//este es el que siempre llega
$cabeceras .= 'X-Mailer: PHP/' phpversion();

// enviarlo
mail($para$asunto$mensaje$cabeceras);
?>
Tomé parte del código de los ejemplos en http://www.php.net/manual/es/function.mail.php

Hice unas pruebas y recibo los tres correos, aunque estoy investigando un detalle con algunos dominios específicos a los que no les llega, no se si es problema de seguridad del servidor destino o de otra índole, pero es un principio. Ojalá te sirva.

Saludos
__________________
CarlosMex
  #5 (permalink)  
Antiguo 16/05/2006, 14:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
1) .. (sólo para aclarar conceptos .. ). El formulario es HTML .. tu lo procesas con PHP y generas un e-mail .. Tener esto claro ayuda bastante (y si lo tienes claro .. como foro público que es .. a alguien más le ayudará estas aclaraciones).

4) .. Ya te he comentado antes. Si tu ahora generas cierto e-mail a cierto destinatario con esa información que el usuario adjunta en su formulario HTML y tu procesas generando un e-mail (con mail()) .. ahora te toca en el mismo proceso generar otro e-mail (usando mail()) con el "para" con ese campo de tu formulario que pides esa dirección de e-mail.

Si quieres algo más concreto .. deberías exponer el código que usas completo y así veremos donde colocar el tema que te comento.

Por cierto .. esto no sería un "autoresponder" (clasico) .. por qué el autoresponder de toda la vida en cuanto a servicio para e-mail se trata de que el servidor de correo al recibir un e-mail cualquiera emite otro e-mail al remitente con cierto formato. Aquí se trata de "generar" otro e-mail más del que ya envias o en el momento de que tu script PHP reciba los datos del formulario.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 16/05/2006, 14:40
 
Fecha de Ingreso: mayo-2006
Mensajes: 11
Antigüedad: 18 años
Puntos: 0
Gracias Cluster y CarlosMex, ya voy entendiendo por dónde ir con el asunto : usar la variable de $email y enviar otro correo en forma automática con la misma función mail ().

Efectivamente es un formulario en HTML y claro, no se trataría de un autorresponder clásico pero para los efectos prácticos míos opera de modo similar (evitar tener que poner a alguien a enviar correos con control c + control v ).
  #7 (permalink)  
Antiguo 16/05/2006, 17:19
Avatar de holahola  
Fecha de Ingreso: mayo-2005
Ubicación: Móstoles - (Madrid)
Mensajes: 214
Antigüedad: 19 años
Puntos: 1
Cita:
Iniciado por CarlosMex
Hice unas pruebas y recibo los tres correos, aunque estoy investigando un detalle con algunos dominios específicos a los que no les llega, no se si es problema de seguridad del servidor destino o de otra índole, pero es un principio. Ojalá te sirva.
Hola CarlosMex: para que lo reciban correctamente todos los dominios, añade a tu función mail() lo siguiente: "-f ".$destinatario

En tu caso, prueba con:
mail($para, $asunto, $mensaje, $cabeceras,"-f".$para);
Espero que te funcione. Un saludo
  #8 (permalink)  
Antiguo 16/05/2006, 18:06
Avatar de CarlosMex  
Fecha de Ingreso: mayo-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
hola, holahola, hice la prueba con

Cita:
Iniciado por holahola
Hola CarlosMex: para que lo reciban correctamente todos los dominios, añade a tu función mail() lo siguiente: "-f ".$destinatario

En tu caso, prueba con:
mail($para, $asunto, $mensaje, $cabeceras,"-f".$para);
Espero que te funcione. Un saludo
y no envió nada de nada, después lo cambié así:

Código PHP:
<?
mail
("-f".$para$asunto$mensaje$cabeceras);
?>
y actuó exactamente como el anterior, es decir, llega al correo que tengo en 'Cc: [email protected]', pero a los otros nada.

¿qué es lo que hace esto del "-f"?
__________________
CarlosMex
  #9 (permalink)  
Antiguo 17/05/2006, 02:07
Avatar de holahola  
Fecha de Ingreso: mayo-2005
Ubicación: Móstoles - (Madrid)
Mensajes: 214
Antigüedad: 19 años
Puntos: 1
Hola CarlosMex:

Perdona por mi error ya que tienes que poner un espacio tras la letra f y antes de la segunda doble comilla

"-f ".

Exactamente tiene que ser así:
mail($para, $asunto, $mensaje, $cabeceras,"-f ".$para);
Pruébalo y te funcionará perfectamente.

Última edición por holahola; 17/05/2006 a las 02:43
  #10 (permalink)  
Antiguo 17/05/2006, 07:39
Avatar de CarlosMex  
Fecha de Ingreso: mayo-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
¿Te refieres a "-f(espacio)" ?
__________________
CarlosMex

Última edición por CarlosMex; 17/05/2006 a las 09:31
  #11 (permalink)  
Antiguo 17/05/2006, 11:17
Avatar de holahola  
Fecha de Ingreso: mayo-2005
Ubicación: Móstoles - (Madrid)
Mensajes: 214
Antigüedad: 19 años
Puntos: 1
Efectivamente.

Código PHP:
mail($para$asunto$mensaje$cabeceras,"-f ".$para); 

Última edición por holahola; 17/05/2006 a las 11:35
  #12 (permalink)  
Antiguo 30/01/2007, 11:08
 
Fecha de Ingreso: enero-2007
Mensajes: 59
Antigüedad: 17 años, 3 meses
Puntos: 1
Exclamación Re: Autorresponder

Tengo problemas al enviar un correo con PHP, y es que no llegan los correos a mi cuenta de hotmail... este es mi codigo!,.. me aparece el mensaje de que si ha llegado bien, pero cuando voy a ver mi correo no hay nada en la bandeja de entrada ni en correo no deseado ... tengo dominio propio.... Ustedes creen q pueda ser el firewalll?

CODIGO
***********************************************
<?
$destinatario = "[email protected]";
$respuesta = "Su correo ha sido enviado correctamente, gracias.";

foreach ($GLOBALS["HTTP_POST_VARS"] as $Key=>$Value) $$Key = $Value;

if(isset($texto)) {
$fecha = strftime("%d-%m-%Y a las %H:%M", time());
$cabeceras = "Reply-To:$mail\nFrom:$nick <$mail>";
$nick = stripslashes($nick);
$mail = stripslashes($mail);
$asunto = stripslashes($asunto);
$texto = stripslashes($texto);

mail($destinatario,$asunto,$texto,$cabeceras);
echo "<div class=\"nota\">\n";
echo " <div class=\"txt\">$respuesta</div>\n";
echo "</div>\n";
}
else {
echo " <form action=\"mail.php\" method=\"post\">\n";
echo " <span class=\"txt\">Nombre o nick:</span><br />\n";
echo " <input type=\"text\" size=\"30\" class=\"campo\" name=\"nick\" /><br /><br />\n";
echo " <span class=\"txt\">E-mail:</span><br />\n";
echo " <input type=\"text\" size=\"30\" class=\"campo\" name=\"mail\" /><br /><br />\n";
echo " <span class=\"txt\">Asunto:</span><br />\n";
echo " <input type=\"text\" size=\"30\" class=\"campo\" name=\"asunto\" /><br /><br />\n";
echo " <span class=\"txt\">Texto del mensaje:</span><br />\n";
echo " <textarea cols=\"40\" rows=\"10\" class=\"campo\" name=\"texto\"></textarea><br /><br />\n";
echo " <input type=\"submit\" class=\"boton\" value=\"Enviar e-mail\" />\n";
echo "</form>\n";
}
?>

***********************************************
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 16:10.