Foros del Web » Programando para Internet » PHP »

Problema el enviar mail a varios usuarios

Estas en el tema de Problema el enviar mail a varios usuarios en el foro de PHP en Foros del Web. Hola, tengo un problema con el mail a varios usuarios, y es que me detecta perfectamente las direcciones pero me da error al enviarlo. Teóricamente ...
  #1 (permalink)  
Antiguo 12/09/2010, 07:52
Avatar de breakervans  
Fecha de Ingreso: noviembre-2009
Ubicación: Vigo, España
Mensajes: 133
Antigüedad: 15 años
Puntos: 1
Problema el enviar mail a varios usuarios

Hola, tengo un problema con el mail a varios usuarios, y es que me detecta perfectamente las direcciones pero me da error al enviarlo. Teóricamente el código está hecho para que los correos aparezcan separados por comas como se me pide en $address, pero cuando lo envío me da error y me detecta inválidas las direcciones. Todas las direcciones aparecen correctas pero no lo parece ver así el mail... os dejo el código a ver si sabéis que puedo hacer para corregir esto, muchas gracias.

Código PHP:
<?php
include "config.php"
require_once(
'class.phpmailer.php');
$username $_COOKIE['loggedin'];
if (
$username != "breaker_v"){
echo 
"No est&aacute;s autorizado para acceder a esta secci&oacute;n";
}
else {
mysql_connect($server$db_user$db_pass) or die (mysql_error());   
mysql_select_db($database) or die (mysql_error());  
$result mysql_query("select * from $table order by username asc") or die (mysql_error());
if (
$result) {  
   echo 
"<font size=3 color=#FFFFFF>Tratando de enviar el mensaje a:<br><br>";  
     while (
$qry mysql_fetch_array($result)){ 
         
$lista_mail[]="$qry[email],"// array que contiene todos los emails recuperados por tu query
         
echo "$qry[email]<br>";  

     } 
}  




$mail             = new PHPMailer(); // defaults to using php "mail()"

$body             file_get_contents('contents.html');
$body             eregi_replace("[\]",'',$body);

$mail->AddReplyTo("[email protected]","Storm of Sighs");

$mail->SetFrom('[email protected]''Storm of Sighs');

$mail->AddReplyTo("[email protected]","Storm of Sighs");
  
$address implode($lista_mail); // lista de emails separado por comas  
$mail->AddAddress($address"Storm of Sighs");

$mail->Subject    "Webmail de Storm of Sighs!";

$mail->AltBody    "Para ver este mensaje, usa una verión compatible de HTML"

$mail->MsgHTML($body);

$mail->AddAttachment("objetos/firma.jpg");      // attachment

if(!$mail->Send()) {
  echo 
"Mailer Error: " $mail->ErrorInfo;
} else {
  echo 
"Mensaje enviado correctamente a $address";
}
}
?>
__________________
Diseño portadas para discos, interesados contactad conmigo.
  #2 (permalink)  
Antiguo 12/09/2010, 12:40
Avatar de De_la_Cuesta_13  
Fecha de Ingreso: abril-2009
Ubicación: Cali, Colombia.
Mensajes: 265
Antigüedad: 15 años, 7 meses
Puntos: 14
Respuesta: Problema el enviar mail a varios usuarios

Compañero, la forma en que agregas las direcciones, no es la correcta. En tu código especificas una dirección como un conjunto, es decir:
Código:
direccion = direcció[email protected], [email protected], etc.
Por lo tanto al intentar enviar es lógico que te bote error, no existe una dirección como esa.
Para enviar a una lista un correo debes agregar las direcciones en un ciclo, y dentro de éste agregas con AddAddress cada una de las direcciones, ya terminado el ciclo, envías el correo y en teoría te debería llegar a toda tu lista.
Código PHP:
$lista_mail = array();//lista de direcciones
##
while ($qry mysql_fetch_array($result)){  
         
/* suponiendo que email es un atributo de la tabla,
             no olvides que se pone entre '' (comilla simple) */
          
$lista_mail[]=$qry['email'];       

##
foreach ($lista_mail as $address) {
    
$mail->AddAddress($address"Storm of Sighs"); 

__________________
Sólo quien nunca nada hace, nunca se equivoca.
  #3 (permalink)  
Antiguo 12/09/2010, 14:18
Avatar de breakervans  
Fecha de Ingreso: noviembre-2009
Ubicación: Vigo, España
Mensajes: 133
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema el enviar mail a varios usuarios

Ya fuciona gracias :D pues no me había dado cuenta del error, de hecho no sabía como arreglarlo. Gracias de nuevo, saludos
__________________
Diseño portadas para discos, interesados contactad conmigo.

Etiquetas: enviar, mail, usuarios
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 22:00.