Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2010, 07:28
almagar
 
Fecha de Ingreso: julio-2008
Mensajes: 8
Antigüedad: 15 años, 9 meses
Puntos: 0
Problemas Adjuntos phpMailer

El script funcinona con 2 o 3 destinatarios pero cuando son mas deja de enviar el archivo adjunto.

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);
}
?>