Foros del Web » Programando para Internet » PHP »

Distintos mensajes varios destinatarios, phpmailer

Estas en el tema de Distintos mensajes varios destinatarios, phpmailer en el foro de PHP en Foros del Web. Hola muchacho(a)s tengo una interrogante, estoy enviando correos a través de un formulario en donde me llenan un textarea con varios emails separados por coma, ...
  #1 (permalink)  
Antiguo 03/05/2012, 13:28
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Pregunta Distintos mensajes varios destinatarios, phpmailer

Hola muchacho(a)s tengo una interrogante, estoy enviando correos a través de un formulario en donde me llenan un textarea con varios emails separados por coma, yo envió unas notificaciones con ello, todo esto con phpmailer y todo funciona ok, el problema es que ahora me pidieron que reconociera algunos correos y a estos les agregue otra información "no son muchos solo 5 pero poseen información de precios", cuyos otros destinatarios no pueden ver, y pues no se, pero tengo un for para recorrer el arreglo pero al enviar no me resulta. algo me falla, alguna idea? este es mi script :

Código PHP:
Ver original
  1. $listac= "$_POST[env_correos]"; //Recogo la lista por POST
  2. $arreglo = explode(',', $listac);
  3. $mail = new PHPMailer();
  4. $mail->IsSMTP(); // mandar via SMTP
  5. $mail->Host = "mail.midominio.com"; // Servidor smtp
  6. $mail->SMTPAuth = true; // smtp autenticado
  7. $mail->Username = "[email protected]"; // usuario servidor smtp
  8. $mail->Password = "mipassword"; // contraseña
  9. $mail->From = "[email protected]";
  10. $mail->FromName = "Notificación Externa";
  11. $mail->Subject = "Nueva Entrada : Notificación Externa";
  12.  
  13. $cuerpox .= "<html>\n<body>\n";
  14. $cuerpox .= "<font size=\"2\" face=\"Verdana\">";
  15. $cuerpox .= "<b>T&iacute;tulo Notificación:</b> $titulo<br />";
  16. //Algunos datos recogidos previa una consulta anterior
  17. for($j=0;$j<count($arreglo);$j++)
  18. {
  19. $mail->AddAddress("$arreglo[$j]",""); //a quien llega el correo
  20. $cadena_limpia = trim($arreglo[$j]);
  21.  
  22. $sqlbc = mysql_query("SELECT * FROM lista WHERE correo = '$cadena_limpia'");
  23. if(mysql_num_rows($sqlbc) == '0')
  24. {
  25. mysql_query ("INSERT INTO lista"
  26.  ." (correo)"
  27.  ." Values"
  28.  ." ('$cadena_limpia')") or die ("Error ".mysql_error());
  29. }//Dejo un registro de las lista que se envian
  30. }
  31.  
  32. /*AQUI MI PROBLEMA COMO IDENTIFICAR UN CORREO Y ADJUNTAR UNA LINEA DEPENDIENDO DE ELLO, YA QUE SOLO ME RECONOCE EL FINAL DEL ARREGLO, SI LO AGREGO ANTES, DENTRO DEL CICLO ME RECONOCE TODO EL CICLO FOR TAMBIEN.*/
  33. if ($cadena_limpia == "[email protected]"){
  34. $cuerpox .= "<b>Valor Especifico :</b> $".number_format($valor,0,",",".")." pesos<br />";}
  35. $cuerpox .= "<b>Tipo de Notificación :</b> $tipo<br />";
  36. $cuerpox .= "<b>Fecha inicio :</b> $diaix de $mayix del $anioix<br />";
  37. $cuerpox .= "<b>Fecha termino :</b> $diatx de $maytx del $aniotx<br />";
  38. $cuerpox .= "<b>Descripci&oacute;n Notificaci&oacute;n:</b> ".nl2br("$descripcion")."<br /><br />";
  39. $cuerpox .= "</font></body>\n</html>\n";
  40. $mail->Body = $cuerpox;
  41. $mail->AltBody = "Si no puede Visualizar este correo correctamente  informe al webmaster. [email protected]";
  42. $mail->Send();
  43. }
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 04/05/2012, 08:23
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Distintos mensajes varios destinatarios, phpmailer

Diculpen que levante el tema pero he estado haciendo algunas pruebas y tengo por ejemplo.

Código PHP:
Ver original
  1. $sqlecn = mysql_query("SELECT * FROM notifications WHERE id = '$_POST[id]'");
  2. while ($resp_ce = mysql_fetch_array($sqlecn))
  3. {
  4. $titulo = "$resp_ce[titulo]";
  5. $valor = "$resp_ce[valor]";
  6. $mail = new PHPMailer();
  7. $mail->IsSMTP(); // mandar via SMTP
  8. $mail->Host = "mail.midominio.com"; // Servidor smtp
  9. $mail->SMTPAuth = true; // smtp autenticado
  10. $mail->Username = "[email protected]"; // usuario servidor smtp
  11. $mail->Password = "mipassword"; // contraseña
  12. $mail->From = "[email protected]";
  13. $mail->FromName = "Notificación Externa";
  14. $mail->Subject = "Nueva Entrada : Notificación Externa";
  15.  
  16. $mail->AddAddress("$resp_ce[correo]",""); //a quien llega el correo $correoe
  17. if ($resp_ce[correo] == "[email protected]"){$datocorreo = "MOSTRAR DINERO";}else{$datocorreo="NO MOSTRAR DINERO";}
  18.  
  19. $cuerpox .= "<html>\n<body>\n";
  20. $cuerpox .= "<font size=\"2\" face=\"Verdana\">";
  21. $cuerpox .= "<b>T&iacute;tulo Notificación :</b> $titulo<br />";
  22. $cuerpox .= "<b>Valor Especifico :</b> $".number_format($valor,0,",",".")." pesos - ".$datocorreo."<br />";
  23. $cuerpox .= "</font></body>\n</html>\n";
  24. $mail->Body = $cuerpox;
  25. $mail->AltBody = "Si no puede Visualizar este correo correctamente  informe al webmaster. [email protected]";
  26. $mail->Send();
  27. }

El problema que tengo es que si enviara a dos destinatarios
[email protected] y [email protected]

a : [email protected] le llega su mensaje pero a [email protected] le llegan ambos mensajes :/ hay alguna manera de limpiar o hacer un tipo break y que limpie la entrada de la consulta anterior y me envié solo la que debería ser, o alguna otra idea???
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 04/05/2012, 09:10
 
Fecha de Ingreso: diciembre-2011
Mensajes: 64
Antigüedad: 12 años, 4 meses
Puntos: 7
Respuesta: Distintos mensajes varios destinatarios, phpmailer

mira, yo una vez me habia hecho un script para enviar mails, no use php mailer, lo que hice fue poner los emaisl en un txt , los abría con fopen dentro de un while, por lo tanto enviaba el mismo mail de a 1 por vez hasta llegar al fina. fijate si lo podes adaptar.
  #4 (permalink)  
Antiguo 07/05/2012, 08:43
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Distintos mensajes varios destinatarios, phpmailer

Vamos a probar fopen ya que el while a secas o me toma el ultimo o el primero, y me envia todas peticiones, pruebo y comento como me fue.

Saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 07/05/2012, 08:55
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 20 años, 6 meses
Puntos: 13
Respuesta: Distintos mensajes varios destinatarios, phpmailer

Cambia:

$mail->AddAddress("$resp_ce[correo]",""); //a quien llega el correo $correoe

Por:

$mail->ClearAddresses();
$mail->AddAddress("$resp_ce[correo]",""); //a quien llega el correo $correoe
  #6 (permalink)  
Antiguo 11/05/2012, 09:37
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Distintos mensajes varios destinatarios, phpmailer

Exelente jercer, eso si por alguna razon me llega doble el correo del segundo destinatario agregando hay la funcion clearaddresses pero me sirvio para hacer funcionar el script, de la misma forma como aparece : http://blog.unijimpe.net/enviar-email-multiple-con-php/
muchas gracias por el tip ;)
__________________
Gokuh Salvo al mundo. PUNTO!!!!

Etiquetas: correo, correos, correos-masivos, email, mail, phpmailer
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 13:36.