27/10/2010, 07:28
|
| | Fecha de Ingreso: julio-2008
Mensajes: 8
Antigüedad: 16 años, 6 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);
}
?>
|