no se que pasa si al leer el archivo el primer mensaje impiede que lo habran el resto?
Código:
<? //tarea ejecutada cada 5 minutos para enviar 25 emails pendientes de la table tenvios require ("conexion_db.php"); require "includes/class.phpmailer.php"; //buscamos cuerpos de mensajes pendientes $sql="select env_id,email_id,email_asunto,email_cuerpo,adj_nombre,adj_tmp_nombre,torigen.par_nombre as remite_nombre,torigen.par_email as remite_email,tdestino.par_email as destino_email from tenvios,tparcelas as torigen,tparcelas as tdestino,temails left join tadjuntos on adj_email_id=email_id where torigen.par_id=email_par_id_in and email_id=env_email_id and tdestino.par_id=env_par_id and env_estado=0 limit 25"; $rs = mysql_query($sql, $conexion); while ($row = mysql_fetch_assoc($rs)){ $mail = new phpmailer(); $mail->IsHTML(true); $mail->PluginDir = "includes/"; $mail->From = $row['remite_email']; $mail->FromName = $row['remite_nombre']; $mail->Subject = $row['email_asunto'];//Asignamos asunto y cuerpo del mensaje $mail->Body = $row['email_cuerpo']; //Indicamos el fichero a adjuntar si el usuario seleccionó uno en el formulario if ($row['adj_nombre']) { $mail->AddAttachment($_SERVER['HTTP_HOST']."/adjuntos/".$row['adj_tmp_nombre'],$row['adj_nombre']); } //cargamos los detinatarios del email pendientes $mail->AddAddress($row['destino_email']); //se envia el mensaje, si no ha habido problemas la variable $success //tendra el valor true $exito = $mail->Send(); if ($mail->ErrorInfo=="SMTP Error: Data not accepted") { $exito=true; } if(!$exito){ $sql="update tenvios set env_estado=-1,env_fecha=now() where env_id=".$row['env_id']; //echo "<br/>".$mail->ErrorInfo; }else{ $sql="update tenvios set env_estado=1,env_fecha=now() where env_id=".$row['env_id']; } mysql_query($sql, $conexion); } ?>