Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] multiples correos con phpmailer

Estas en el tema de multiples correos con phpmailer en el foro de PHP en Foros del Web. Buena tarde, tengo el siguiente codigo que trato de utilizar para enviar un e-mail con phpmailer; lo que quiero es ingresar varios correos pero solo ...
  #1 (permalink)  
Antiguo 20/03/2014, 15:33
 
Fecha de Ingreso: octubre-2013
Mensajes: 30
Antigüedad: 10 años, 6 meses
Puntos: 0
multiples correos con phpmailer

Buena tarde, tengo el siguiente codigo que trato de utilizar para enviar un e-mail con phpmailer; lo que quiero es ingresar varios correos pero solo los que yo seleccione de una consulta
Pagina 1

<form name="form1" method="post" action="mail.php">
<table width="315" border="0">
<tr>
<td colspan="3"><label>
<input type="submit" name="Submit" value="Enviar Notificación" >
<input name="Remitente" type="hidden" value="<?php echo $row_Rs1["Email"]?>">
<input name="Nombre" type="hidden" value="<?php echo $row_Rs1["Nombre"]?> <?php echo $row_Rs1["APaterno"]?> <?php echo $row_Rs1["AMaterno"]?>">
</label></td>
</tr>
<tr>
<td colspan="3" bgcolor="#E77416"><div align="center" class="tittab">Selecciona Para enviar Notificacion </div></td>
</tr>
<?php
do {
?>
<tr>
<td width="22" class="texttab"><label>
<input type="checkbox" name="Correos[]" value="<?php echo $row_Rs["Email"] ?>">
</label></td>
<td width="323" colspan="2" class="textlink"><?php echo $row_Rs["Nombre"] ?> <?php echo $row_Rs["APaterno"] ?> <?php echo $row_Rs["AMaterno"] ?></td>
</tr><?php } while ($row_Rs = mysql_fetch_assoc($Rs)); ?>
<tr>
</table>
</form>

Pagina 2

$Remitente=$_REQUEST["Remitente"];
$Nombre=$_REQUEST["Nombre"];
$Correos= implode(",",$_POST["Correos"]);

require('Mail/class.phpmailer.php');
require('Mail/class.smtp.php'); //Especificamos los datos y configuración del servidor
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true
;$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.dominiodelaempresa.com.mx";
$mail->Port = 587; //Nos autenticamos con nuestras credenciales en el servidor de correo
$mail->Username = "[email protected]";
$mail->Password = "*****"; //Agregamos la información que el correo requiere
$mail->From = "[email protected]";
$mail->FromName = "Tu Nombre";
$mail->Subject = "Enviar Mail con PHPMailer";
$mail->AltBody = "";
$mail->MsgHTML("<h1>Hola Mundo!</h1>");
//$mail->AddAttachment("adjunto.txt");
$mail->AddAddress($Correos,"Usuario Prueba");
$mail->IsHTML(true); //Enviamos el correo electrónico$mail->Send();

El error que me marca es el siguiente:

Invalid address: [email protected],eherna@dominiodelae mpresa.com.mx


No entiendo que puedo hacer; en la separacion de los correos lo deje con coma, al igual que lo intente separar con punto y coma y nada
  #2 (permalink)  
Antiguo 20/03/2014, 15:42
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: multiples correos con phpmailer

Debes declarar correo por correo, tantos como necesites.

$mail->AddAddress($Correo1);
$mail->AddAddress($Correo2);
$mail->AddAddress($Correo3);
  #3 (permalink)  
Antiguo 20/03/2014, 15:52
 
Fecha de Ingreso: octubre-2013
Mensajes: 30
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: multiples correos con phpmailer

Cita:
Iniciado por ocp001a Ver Mensaje
Debes declarar correo por correo, tantos como necesites.

$mail->AddAddress($Correo1);
$mail->AddAddress($Correo2);
$mail->AddAddress($Correo3);
Esque no se de que forma realizarla ya que tengo un input donde se van generando los correos tantos tenga dependiendo mi consulta y es un array entonces como genero un array para el $mail->AddAddress para que se generen dependiendo los correos que seleccione?? no se si me explico... ouch
  #4 (permalink)  
Antiguo 20/03/2014, 15:56
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: multiples correos con phpmailer

Código PHP:
Ver original
  1. foreach ($correos as $correo){
  2.   $mail->AddAddress($correo);
  3. }
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #5 (permalink)  
Antiguo 21/03/2014, 09:58
 
Fecha de Ingreso: octubre-2013
Mensajes: 30
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: multiples correos con phpmailer

Cita:
Iniciado por malakian Ver Mensaje
Código PHP:
Ver original
  1. foreach ($correos as $correo){
  2.   $mail->AddAddress($correo);
  3. }
Hola muchas gracias por el aporte,ya no me marca ningun errror pero no me llega ningun correo, que podria ser??
  #6 (permalink)  
Antiguo 21/03/2014, 13:33
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: multiples correos con phpmailer

3 opciones:

1) Prueba colocando un condicional al método de envío

Código PHP:
Ver original
  1. if (!$mail->send()){
  2.     echo "No se pudo enviar el correo";
  3. }

2) verifica el log de apache y descarta errores

3) coloca un try catch y captura la excepción del mail que se pueda generar

Código PHP:
Ver original
  1. try{
  2. //código php
  3. } catch (phpmailerException $e) {
  4.   echo $e->errorMessage();
  5. } catch (Exception $e) {
  6.   echo $e->getMessage();
  7. }
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #7 (permalink)  
Antiguo 21/03/2014, 13:42
 
Fecha de Ingreso: octubre-2013
Mensajes: 30
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: multiples correos con phpmailer

Cita:
Iniciado por malakian Ver Mensaje
3 opciones:

1) Prueba colocando un condicional al método de envío

Código PHP:
Ver original
  1. if (!$mail->send()){
  2.     echo "No se pudo enviar el correo";
  3. }

2) verifica el log de apache y descarta errores

3) coloca un try catch y captura la excepción del mail que se pueda generar

Código PHP:
Ver original
  1. try{
  2. //código php
  3. } catch (phpmailerException $e) {
  4.   echo $e->errorMessage();
  5. } catch (Exception $e) {
  6.   echo $e->getMessage();
  7. }
Muchas gracias por la ayuda ya modificando varias cosas asi queda mi codigo y ya me envia sin ningun problema:



require('Mail/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smtp.a.com.mx";
$mail->Port = 587;
$mail->Username = '[email protected]';
$mail->Password = "*****";
$mail->From = "[email protected]";
$mail->FromName = "aaa";
$mail->Subject = "Correo de Prueba";
$mail->Subject = "Correo de Prueba";
$body .="Envio de Notificacion";
$mail->Body = $body;
$mail->AltBody = ".";
if(isset($_POST['Correos'])) {
foreach($_POST['Correos'] as $Correo){

$mail->AddAddress("$Correo","Correo");
}
}
if($mail->Send()) {
echo "Mensaje enviado correctamente";
} else {
echo "Error al enviar mensaje: " . $mail->ErrorInfo;
}

Gracias!!!

Etiquetas: correos, html, multiples, mysql, 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 14:48.