PHP - Multiples destinatarios con PHPMailer

 
Vista:
sin imagen de perfil

Multiples destinatarios con PHPMailer

Publicado por Sebastian (35 intervenciones) el 04/01/2016 04:10:25
Saludos, espero me puedan ayuar.

Estoy utilizando la clase PHPMailer para enviar mails a distintos usuarios al dar clic en un boton en mi aplicación

Para obtener los mails y los nombres hago un select a la base. No tengo problemas cuando envio a un solo usuario pero cuando necesito enviar a mas (por ejemplo unos 7 usuarios) no puedo hacerlo.

Estuve investigando y leyendo varios foros, intente con algunos bucles pero no lo logro.

Este es el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
mysql_select_db($database_prueba, $prueba);
$query_Recordset2 = "SELECT DISTINCT U.usu_email, U.usu_usuario, A.areas_academicasnombre
FROM materias M LEFT OUTER JOIN usuario U ON U.usu_id = M.materiasdocente 
LEFT OUTER JOIN areas_academicas A ON A.areas_academicasid = M.materiasareas_academicasid 
LEFT OUTER JOIN actas_areasacademicas AC ON AC.actas_areaacademicaid =  A.areas_academicasid 
WHERE A.areas_academicascoordinador = '".$idusuariologeado."' AND AC.actasid = '".$_GET['actasid']."'";
$Recordset2 = mysql_query($query_Recordset2, $prueba) or die(mysql_error());
 
 
$mail = new PHPMailer();
$body             = '<br><b>Recuerde que tiene una convocatoria para el Área Académica de
'.$row_Recordset1['areas_academicasnombre'].'</b><br><br><b>
Fecha:</b> '.$fecha.'<br><br><b>Hora:</b> '.$hora.' ';
//$body             = file_get_contents('contents.html');
//$body             = eregi_replace("[\]",'',$body);
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "smtp.gmail.com"; // SMTP server
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "tls";                 // sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->Port       = 587;                   // set the SMTP port for the GMAIL server
$mail->Username   = "xxxxxxxx";  // GMAIL username
$mail->Password   = "xxxxxxxxxxx";            // GMAIL password
 
$mail->Subject    = "Notificación de reunión";
 
$mail->MsgHTML($body);
 
while ($row = mysql_fetch_array($Recordset2)) {
 
$mail->AddAddress($row['usu_email']);
if(!$mail->Send()){
 echo "Error al enviar a: " . $row['usu_email'] . "<br>";
	}
	$mail->ClearAddresses();
 
 
		}

Espero me puedan ayudar muchas gracias..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Multiples destinatarios con PHPMailer

Publicado por xve (6935 intervenciones) el 04/01/2016 13:09:12
Hola Sebastian, el código lo tienes correcto... te muestra el texto "Error al enviar..." o simplemente no dice nada?

Prueba a añadir:
1
2
3
4
5
if(!$mail->Send()){
	echo "Error al enviar a: " . $row['usu_email'] . "<br>";
}else{
	echo "Mensaje enviado a: " . $row['usu_email'] . "<br>";
}

Para ver que realmente entra en el bucle.

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Multiples destinatarios con PHPMailer

Publicado por Sebastian (35 intervenciones) el 04/01/2016 15:43:25
Muchas gracias por responder xve.

He añadido el else y simplemente no dice nada.

He podido comprobar que únicamente me envia correos a un máximo de 3 usuarios.

He estado intentando con for, foreach y los resultados han sido parecidos..

Espero su ayuda. Gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Xavi
Val: 1.009
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Multiples destinatarios con PHPMailer

Publicado por Xavi (143 intervenciones) el 04/01/2016 17:48:27
Hola Sebastian, si no muestra, nada, es que no entra en el bucle... y si no entra, es porque la consulta sql no hay registros.

Al añadir el else, se tendría que mostrar un mensaje para cada correo enviado o no enviado. Si no se muestra ningún mensaje, es que no entra en el bucle.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Multiples destinatarios con PHPMailer

Publicado por Sebastian (35 intervenciones) el 05/01/2016 04:36:15
Muchas gracias por responder Xavi.

Voy a revisar mi consulta.

Pero la verdad no entiendo xq no entra al bucle..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar