Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/06/2006, 12:17
la_vida_esun_if_else
 
Fecha de Ingreso: mayo-2006
Mensajes: 34
Antigüedad: 17 años, 11 meses
Puntos: 0
Pregunta

Cluster muchas gracias por tu respuesta.

Bien agregué en mi código la parte de error_log (o mas bien de grabar resultados sea error o no).

Te quería hacer dos preguntas una respecto de la validadción de email, como sería este tema? porque yo valido el mail cuando entra en la base desde el formulario de login... a eso te referías?

Bueno, la otra pregunta que quiero hacerte es sobre el tema de enviar vía SMTP, PHPMailer envía aprentemente de una forma (como lo estoy usando yo), y también vía SMTP... mi pregunta es que me conviene hacer con tal de no saturar mi server y de que mi server no aparesca en ninguna "lista negra"...

Bueno adjunto el código con el agregado... espero criticas foristaas.
Muchas graciias!
Código PHP:
   // Enviar NL ////////////////////////////////////////////////////////////////////////////////////////
   // Incluyo el enviador de mails
   
include("class.phpmailer.php");
   
   
// Me conecto a la base
   
include("conex.php"); 
   
$link Conectarse();
   
   
// Revizo si hay un nuevo NL disponible
   
$query1 "SELECT new FROM nl_new_available";
   
$result1 mysql_query$query1 $link ) or die( mysql_error() );
   
$row1 mysql_fetch_array($result1);
   if(
$row1['new'] == 1){
   
   
// Creo un file para guardar los resultados
   
$file "http://www.dominio.com/logs/result_log_" date("Y-m-d") . ".txt";
   if(!
file_exists($file))$gestor fopen($file,"a+");
   
   
// Extraigo de la tabla de "enviados" la ultima cantidad enviada.
             
$query2 "SELECT total FROM nl_adress_sended";
             
$result2 mysql_query($query2 $link) or die( mysql_error() );
             
$row2 mysql_fetch_array($result2);
             
   
// Selecciono los registros LIMIT 10 partiendo de la ultima cantidad enviada + 1.
                     
$piso $row3[total] + 1;
                     
$techo $row3[total] + 10;
                     
$query3 "SELECT email FROM nl_users ORDER BY ID ASC Between $piso And $techo ";
                     
$result3 mysql_query$query3 $link ) or die( mysql_error() );

   
// Envio el mail
                     
while($row mysql_fetch_array($result3)){
                     
$mail = new PHPMailer();
                     
$mail->From '[email protected]';
                     
$mail->FromName 'Boletin Quincenal - Dominio.com';
                     
$mail->AddAddress($row3[email]));
                     
$mail->IsHTML(true);
                     
$mail->Subject "Boletin Quincenal - Dominio.com";
                     
$mail->Body    "<font color='#000000' face='Arial, Helvetica, sans-serif'>Cuerpo del mensaje</font>";
        
                     if(!
$mail->Send())fwrite($gestor"ERROR al enviar mail a $row3[email] - " date("r") . " - ErrorInfo: " $mail->ErrorInfo " \r\n");//Escribo error en log
                     
else fwrite($gestor"Correcto: mail a $row3[email] - " date("r") . "\r\n");//Escribo confirmacion en log
                     
};
                     
   
// Grabo en la tabla "enviados" los mails que fueron enviados.
                     
$query4 "UPDATE nl_adress_sended SET `total` = '$techo'";
                     
$result4 mysql_query$query4 $link ) or die( mysql_error() );

   
// Si se envió el total de mails grabo en la tabla "nuevo NL disponible" el valor cero
                     
$query5 "SELECT total FROM nl_adress_sended";
                     
$result5 mysql_query$query5 $link ) or die( mysql_error() );
                     
$row5 mysql_fetch_array($result5);
                     
                     
$query6 "SELECT * FROM nl_users";
                     
$result6 mysql_query$query6 $link ) or die( mysql_error() );
                     
$total_users mysql_num_rows($result6);
                     
                     if(
$row5[total] == $total_users){
                                
$query7 "UPDATE nl_new_available SET `new` = '0'";
                               
$result7 mysql_query$query7 $link ) or die( mysql_error() );

   
// Envio mail informando al adminitrador
                     
$mail = new PHPMailer();
                     
$mail->From '[email protected]';
                     
$mail->FromName 'Enviador de boletín - Dominio.com';
                     
$mail->AddAddress($row[email]));
                     
$mail->IsHTML(true);
                     
$mail->Subject "Dominio.com - Resultados de envio de boletin (Fecha)";
                     
$mail->Body    "<font color='#000000' face='Arial, Helvetica, sans-serif'>Resultados del envio de boletín</font>";
                     
$mail->AddAttachment($file);
                     if(!
$mail->Send())fwrite($gestor"ERROR al enviar mail a Administración - " date("r") . " - ErrorInfo: " $mail->ErrorInfo " \r\n");/* Si no pude enviar el mail a administracion, grabo el error en el log */
                     
};
                     
                     
fclose($gestor);
   
   };
   
// Fin /////////////////////////////////////////////////////////////////////////////////////////////
?>