Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Responder mensaje a cliente y avisar a usuario llegada de correo, usando PHP Mailer

Estas en el tema de Responder mensaje a cliente y avisar a usuario llegada de correo, usando PHP Mailer en el foro de PHP en Foros del Web. Hola a todos, soy nuevo aquí y deseo vuestra ayuda para resolver el siguiente problema: Se debe responder con dos mensajes distintos a dos correos ...
  #1 (permalink)  
Antiguo 17/08/2015, 13:53
Avatar de DataBlick  
Fecha de Ingreso: agosto-2015
Ubicación: Viña del Mar
Mensajes: 5
Antigüedad: 8 años, 7 meses
Puntos: 0
Responder mensaje a cliente y avisar a usuario llegada de correo, usando PHP Mailer

Hola a todos, soy nuevo aquí y deseo vuestra ayuda para resolver el siguiente problema:

Se debe responder con dos mensajes distintos a dos correos diferentes a partir de un formulario web.

Me explico, un cliente deja sus datos y un mensaje, debo avisarle que recibí su mensaje y comunicarle al equipo de atención al cliente que alguien se ha comunicado por el formulario web.

Agradezco vuestra colaboración

Tengo el siguiente código:

Con este código puedo enviar el mensaje a los dos destinatarios, pero en un sólo correo, correspondiente al del cliente.
Falta poder enviar un segundo mensaje paralelo al área de atención al cliente.

<?php
ini_set('error_reporting',0);
date_default_timezone_set("America/Argentina/Buenos_Aires");
if($_POST['nombre'])
{
$fecha=date("d-m-Y");
$hora= date("H:i:s");
function calcSalida($hr) {return date('H:i:s', strtotime($hr)); }
$hrc=calcSalida($hora);
require("includes/PHPMailerAutoload.php"); // debes descargarla primero !
require("includes/class.phpmailer.php");
require("includes/class.smtp.php");
$mail = new PHPMailer();
//$mail->PluginDir = "includes/";
//$mail->Mailer = "smtp"; //
$mail->IsSMTP();
//Asignamos a Host el nombre de nuestro servidor smtp
$mail->Host = "mail.arquitecturabym.cl";
//Le indicamos que el servidor smtp requiere autenticación
$mail->SMTPAuth = true;
$mail->Port="26";
$mail->Timeout=30;
//Le decimos cual es nuestro nombre de usuario y password
$mail->Username = "[email protected]";
$mail->Password = "********";
//Indicamos cual es nuestra dirección de correo y el nombre que
//queremos que vea el usuario que lee nuestro correo
$mail->From = "[email protected]";
$mail->FromName = "Servicio al cliente";
//Indicamos cual es la dirección de destino del correo
$mail->AddAddress("[email protected]");
//Asignamos asunto y cuerpo del mensaje que avisa a la organización que alguien se ha contactado por el formulario web
$mail->Subject = "Aviso de recepcion de mensaje, via formulario web";
$mail->Body = "Se ha recibido un correo de $_POST[nombre], con el siguiente mensaje:\n\n$_POST[query]\n\nLos datos que nos han proporcionado son:\nEmail: $_POST[email]\nFono: $_POST[phone]\n\nEste mensaje lo recibimos el $fecha a las $hrc\n\nEquipo de servicio al cliente";
//Aquí debo asignar otro asunto y cuerpo del mensaje para informar al cliente
$mail->AddAddress($_POST['email']);
$mail->Subject = "Confirmacion de recepcion automatica";
$mail->Body = "$_POST[nombre], hemos recibido su correo con el siguiente mensaje:\n\n$_POST[query]\n\nLos datos que usted nos ha proporcionado son:\nEmail: $_POST[email]\nFono: $_POST[phone]\n\nEste mensaje lo recibimos el $fecha a las $hrc\n\nAgradecemos su contacto, pronto nos comunicarermos con usted.\n\nEquipo de servicio al cliente";
if(!$mail->Send())
{
echo "No se ha podido enviar el mail";
}
else
{
echo "Mensaje enviado, pronto nos pondremos en contacto con usted.\nYa puede cerrar este formulario.";
}
}
?>
  #2 (permalink)  
Antiguo 17/08/2015, 14:03
Avatar de luisdavid1993  
Fecha de Ingreso: julio-2015
Ubicación: Anaco Venezuela
Mensajes: 78
Antigüedad: 8 años, 8 meses
Puntos: 2
Respuesta: Responder mensaje a cliente y avisar a usuario llegada de correo, usando P

Código PHP:
Ver original
  1. <?php
  2. ini_set('error_reporting',0);
  3. date_default_timezone_set("America/Argentina/Buenos_Aires");
  4. if($_POST['nombre'])
  5. {
  6. $fecha=date("d-m-Y");
  7. $hora= date("H:i:s");
  8. function calcSalida($hr) {return date('H:i:s', strtotime($hr)); }
  9. $hrc=calcSalida($hora);
  10. require("includes/PHPMailerAutoload.php"); // debes descargarla primero !
  11. require("includes/class.phpmailer.php");
  12. require("includes/class.smtp.php");
  13. $mail = new PHPMailer();
  14. //$mail->PluginDir = "includes/";
  15. //$mail->Mailer = "smtp"; //
  16. $mail->IsSMTP();
  17. //Asignamos a Host el nombre de nuestro servidor smtp
  18. $mail->Host = "mail.arquitecturabym.cl";
  19. //Le indicamos que el servidor smtp requiere autenticación
  20. $mail->SMTPAuth = true;
  21. $mail->Port="26";
  22. $mail->Timeout=30;
  23. //Le decimos cual es nuestro nombre de usuario y password
  24. $mail->Username = "[email protected]";
  25. $mail->Password = "********";
  26. //Indicamos cual es nuestra dirección de correo y el nombre que
  27. //queremos que vea el usuario que lee nuestro correo
  28. $mail->From = "[email protected]";
  29. $mail->FromName = "Servicio al cliente";
  30. //Indicamos cual es la dirección de destino del correo
  31. $mail->AddAddress("[email protected]");
  32. //Asignamos asunto y cuerpo del mensaje que avisa a la organización que alguien se ha contactado por el formulario web
  33. $mail->Subject = "Aviso de recepcion de mensaje, via formulario web";
  34. $mail->Body = "Se ha recibido un correo de $_POST[nombre], con el siguiente mensaje:\n\n$_POST[query]\n\nLos datos que nos han proporcionado son:\nEmail: $_POST[email]\nFono: $_POST[phone]\n\nEste mensaje lo recibimos el $fecha a las $hrc\n\nEquipo de servicio al cliente";
  35. //Aquí debo asignar otro asunto y cuerpo del mensaje para informar al cliente
  36. $mail->AddAddress($_POST['email']);
  37. $mail->Subject = "Confirmacion de recepcion automatica";
  38. $mail->Body = "$_POST[nombre], hemos recibido su correo con el siguiente mensaje:\n\n$_POST[query]\n\nLos datos que usted nos ha proporcionado son:\nEmail: $_POST[email]\nFono: $_POST[phone]\n\nEste mensaje lo recibimos el $fecha a las $hrc\n\nAgradecemos su contacto, pronto nos comunicarermos con usted.\n\nEquipo de servicio al cliente";
  39. if(!$mail->Send())
  40. {
  41. echo "No se ha podido enviar el mail";
  42. }
  43. else
  44. {
  45. echo "Mensaje enviado, pronto nos pondremos en contacto con usted.\nYa puede cerrar este formulario.";
  46. }
  47. }
  48. ?>

ve esta entrdad del foro http://www.forosdelweb.com/f127/envi...93/index2.html

quizas te ayude
__________________
"Lucha por tus sueños o alguien te contratara para que cumplas los de el"
  #3 (permalink)  
Antiguo 17/08/2015, 14:34
Avatar de DataBlick  
Fecha de Ingreso: agosto-2015
Ubicación: Viña del Mar
Mensajes: 5
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Responder mensaje a cliente y avisar a usuario llegada de correo, usando P

Revisaré esto

Muchas gracias por tu ayuda.


Cita:
Iniciado por luisdavid1993 Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2. ini_set('error_reporting',0);
  3. date_default_timezone_set("America/Argentina/Buenos_Aires");
  4. if($_POST['nombre'])
  5. {
  6. $fecha=date("d-m-Y");
  7. $hora= date("H:i:s");
  8. function calcSalida($hr) {return date('H:i:s', strtotime($hr)); }
  9. $hrc=calcSalida($hora);
  10. require("includes/PHPMailerAutoload.php"); // debes descargarla primero !
  11. require("includes/class.phpmailer.php");
  12. require("includes/class.smtp.php");
  13. $mail = new PHPMailer();
  14. //$mail->PluginDir = "includes/";
  15. //$mail->Mailer = "smtp"; //
  16. $mail->IsSMTP();
  17. //Asignamos a Host el nombre de nuestro servidor smtp
  18. $mail->Host = "mail.arquitecturabym.cl";
  19. //Le indicamos que el servidor smtp requiere autenticación
  20. $mail->SMTPAuth = true;
  21. $mail->Port="26";
  22. $mail->Timeout=30;
  23. //Le decimos cual es nuestro nombre de usuario y password
  24. $mail->Username = "[email protected]";
  25. $mail->Password = "********";
  26. //Indicamos cual es nuestra dirección de correo y el nombre que
  27. //queremos que vea el usuario que lee nuestro correo
  28. $mail->From = "[email protected]";
  29. $mail->FromName = "Servicio al cliente";
  30. //Indicamos cual es la dirección de destino del correo
  31. $mail->AddAddress("[email protected]");
  32. //Asignamos asunto y cuerpo del mensaje que avisa a la organización que alguien se ha contactado por el formulario web
  33. $mail->Subject = "Aviso de recepcion de mensaje, via formulario web";
  34. $mail->Body = "Se ha recibido un correo de $_POST[nombre], con el siguiente mensaje:\n\n$_POST[query]\n\nLos datos que nos han proporcionado son:\nEmail: $_POST[email]\nFono: $_POST[phone]\n\nEste mensaje lo recibimos el $fecha a las $hrc\n\nEquipo de servicio al cliente";
  35. //Aquí debo asignar otro asunto y cuerpo del mensaje para informar al cliente
  36. $mail->AddAddress($_POST['email']);
  37. $mail->Subject = "Confirmacion de recepcion automatica";
  38. $mail->Body = "$_POST[nombre], hemos recibido su correo con el siguiente mensaje:\n\n$_POST[query]\n\nLos datos que usted nos ha proporcionado son:\nEmail: $_POST[email]\nFono: $_POST[phone]\n\nEste mensaje lo recibimos el $fecha a las $hrc\n\nAgradecemos su contacto, pronto nos comunicarermos con usted.\n\nEquipo de servicio al cliente";
  39. if(!$mail->Send())
  40. {
  41. echo "No se ha podido enviar el mail";
  42. }
  43. else
  44. {
  45. echo "Mensaje enviado, pronto nos pondremos en contacto con usted.\nYa puede cerrar este formulario.";
  46. }
  47. }
  48. ?>

ve esta entrdad del foro [url]http://www.forosdelweb.com/f127/envio-correo-varios-destinatarios-con-phpmailer-987893/index2.html[/url]

quizas te ayude
  #4 (permalink)  
Antiguo 17/08/2015, 15:10
Avatar de DataBlick  
Fecha de Ingreso: agosto-2015
Ubicación: Viña del Mar
Mensajes: 5
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Responder mensaje a cliente y avisar a usuario llegada de correo, usando P

Estuve revisando, pero la solución encontrada para ese caso no aplica para mi problema.
Verás, en el caso que señalas, es un sólo mensaje para varios destinatarios, donde se usa $mail->addBcc($destinatarios);

Pues bien, para mi caso, se trata de un formulario web, donde tengo dos destinatarios, a los cuales se envia un mensaje distinto a cada uno.

1.- uno es el cliente cuyo correo se rescata del formulario, en
$mail->AddAddress($_POST['email']);

Para este cliente le debo enviar un mensaje quel tiene un asunto 1 y un mensaje 1

2.- El segundo correo es para "[email protected]", el que tiene un asunto2 y un mensaje2.



Cita:
Iniciado por luisdavid1993 Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2. ini_set('error_reporting',0);
  3. date_default_timezone_set("America/Argentina/Buenos_Aires");
  4. if($_POST['nombre'])
  5. {
  6. $fecha=date("d-m-Y");
  7. $hora= date("H:i:s");
  8. function calcSalida($hr) {return date('H:i:s', strtotime($hr)); }
  9. $hrc=calcSalida($hora);
  10. require("includes/PHPMailerAutoload.php"); // debes descargarla primero !
  11. require("includes/class.phpmailer.php");
  12. require("includes/class.smtp.php");
  13. $mail = new PHPMailer();
  14. //$mail->PluginDir = "includes/";
  15. //$mail->Mailer = "smtp"; //
  16. $mail->IsSMTP();
  17. //Asignamos a Host el nombre de nuestro servidor smtp
  18. $mail->Host = "mail.arquitecturabym.cl";
  19. //Le indicamos que el servidor smtp requiere autenticación
  20. $mail->SMTPAuth = true;
  21. $mail->Port="26";
  22. $mail->Timeout=30;
  23. //Le decimos cual es nuestro nombre de usuario y password
  24. $mail->Username = "[email protected]";
  25. $mail->Password = "********";
  26. //Indicamos cual es nuestra dirección de correo y el nombre que
  27. //queremos que vea el usuario que lee nuestro correo
  28. $mail->From = "[email protected]";
  29. $mail->FromName = "Servicio al cliente";
  30. //Indicamos cual es la dirección de destino del correo
  31. $mail->AddAddress("[email protected]");
  32. //Asignamos asunto y cuerpo del mensaje que avisa a la organización que alguien se ha contactado por el formulario web
  33. $mail->Subject = "Aviso de recepcion de mensaje, via formulario web";
  34. $mail->Body = "Se ha recibido un correo de $_POST[nombre], con el siguiente mensaje:\n\n$_POST[query]\n\nLos datos que nos han proporcionado son:\nEmail: $_POST[email]\nFono: $_POST[phone]\n\nEste mensaje lo recibimos el $fecha a las $hrc\n\nEquipo de servicio al cliente";
  35. //Aquí debo asignar otro asunto y cuerpo del mensaje para informar al cliente
  36. $mail->AddAddress($_POST['email']);
  37. $mail->Subject = "Confirmacion de recepcion automatica";
  38. $mail->Body = "$_POST[nombre], hemos recibido su correo con el siguiente mensaje:\n\n$_POST[query]\n\nLos datos que usted nos ha proporcionado son:\nEmail: $_POST[email]\nFono: $_POST[phone]\n\nEste mensaje lo recibimos el $fecha a las $hrc\n\nAgradecemos su contacto, pronto nos comunicarermos con usted.\n\nEquipo de servicio al cliente";
  39. if(!$mail->Send())
  40. {
  41. echo "No se ha podido enviar el mail";
  42. }
  43. else
  44. {
  45. echo "Mensaje enviado, pronto nos pondremos en contacto con usted.\nYa puede cerrar este formulario.";
  46. }
  47. }
  48. ?>

ve esta entrdad del foro [url]http://www.forosdelweb.com/f127/envio-correo-varios-destinatarios-con-phpmailer-987893/index2.html[/url]

quizas te ayude
  #5 (permalink)  
Antiguo 17/08/2015, 15:32
Avatar de DataBlick  
Fecha de Ingreso: agosto-2015
Ubicación: Viña del Mar
Mensajes: 5
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Responder mensaje a cliente y avisar a usuario llegada de correo, usando P

Quizás debería replantear la pregunta a :

Como enviar dos mensajes diferentes a dos destinatarios distintos al hacer click en Enviar.

Pero, en fin, la respuesta era esta:

Código PHP:
Ver original
  1. <?php
  2.     ini_set('error_reporting',0);
  3.     date_default_timezone_set("America/Argentina/Buenos_Aires");
  4.     if($_POST['nombre'])
  5.     {
  6.         $fecha=date("d-m-Y");
  7.         $hora= date("H:i:s");
  8.         function calcSalida($hr) {return date('H:i:s', strtotime($hr)); }
  9.         $hrc=calcSalida($hora);
  10.         require("includes/PHPMailerAutoload.php"); // debes descargarla primero !
  11.         require("includes/class.phpmailer.php");
  12.         require("includes/class.smtp.php");
  13.         $mail = new PHPMailer();
  14.             //$mail->PluginDir = "includes/";
  15.             //$mail->Mailer = "smtp"; //
  16.         $mail->IsSMTP();
  17.             //Asignamos a Host el nombre de nuestro servidor smtp
  18.         $mail->Host = "mail.arquitecturabym.cl";
  19.             //Le indicamos que el servidor smtp requiere autenticación
  20.         $mail->SMTPAuth = true;
  21.         $mail->Port="26";
  22.         $mail->Timeout=30;
  23.             //Le decimos cual es nuestro nombre de usuario y password
  24.         $mail->Username = "[email protected]";
  25.         $mail->Password = "********";
  26.             //Indicamos cual es nuestra dirección de correo y el nombre que
  27.             //queremos que vea el usuario que lee nuestro correo
  28.         $mail->From = "[email protected]";
  29.         $mail->FromName = "Servicio al cliente";
  30.             //Indicamos cual es la dirección de destino del correo
  31.         $mail->AddAddress($_POST['email']);
  32.             //Asignamos asunto y cuerpo del mensaje que avisa al cliente que se ha recibido su información del formulario web
  33.         $mail->Subject = "Confirmacion de recepcion automatica";
  34.         $mail->Body = "$_POST[nombre], hemos recibido su correo con el siguiente mensaje:\n\n$_POST[query]\n\nLos datos que usted nos ha proporcionado son:\nEmail: $_POST[email]\nFono: $_POST[phone]\n\nEste mensaje lo recibimos el $fecha a las $hrc\n\nAgradecemos su contacto, pronto nos comunicarermos con usted.\n\nEquipo de servicio al cliente";
  35.         if(!$mail->Send())
  36.         {
  37.         echo "No se ha podido enviar el mail";
  38.         }
  39.         else
  40.         {
  41.                 //Aquí asigné otro asunto y cuerpo del mensaje para informar al equipo de servicio al cliente
  42.                 $mail->ClearAddresses();
  43.                 $mail->AddAddress("[email protected]");
  44.                 $mail->Subject = "Aviso de recepcion de mensaje, via formulario web";
  45.                 $mail->Body = "Se ha recibido un correo de $_POST[nombre], con el siguiente mensaje:\n\n$_POST[query]\n\nLos datos que nos han proporcionado son:\nEmail: $_POST[email]\nFono: $_POST[phone]\n\nEste mensaje lo recibimos el $fecha a las $hrc\n\nEquipo de servicio al cliente";
  46.                 $mail->Send();
  47.            
  48.         echo "Mensaje enviado, pronto nos pondremos en contacto con usted.\nYa puede cerrar este formulario.";
  49.         }
  50.     }
  51. ?>

Última edición por DataBlick; 17/08/2015 a las 16:46 Razón: Encontré la solución

Etiquetas: cliente, correo, fecha, formulario, mailer, mensaje, usando, usuario
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:59.