Ver Mensaje Individual
  #25 (permalink)  
Antiguo 30/12/2008, 10:14
Avatar de estibaliz2006
estibaliz2006
 
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: envios newsletter cada cincuenta emails

mira. como os digo uso la clase phpmailer. este es mi codigo:

Código PHP:
mysql_connect("localhost""user""pass");
mysql_select_db ("basededatos");
require 
"includes/class.phpmailer.php";
//sacamos el numero de emails en la tabla newsletter
$sql "SELECT email FROM newsletter";  // sentencia sql  
$result mysql_query($sql);  
$num_totalmysql_num_rows($result);

//decimos que los coja de dos en dos
$num 2//Número de mails por envio.  
$num_total;//Numero total de mails

for ($i=0;$i<=$num_total;$i=$i+$num) {
$sqlmail"SELECT email FROM newsletter LIMIT $i, $num"
$resultmail mysql_query($sqlmail); 
while(
$datosmail mysql_fetch_array($resultmail)) {

/
instanciamos un objeto de la clase phpmailer al que llamamos email

  $email
= new phpmailer();

  
//Definimos las propiedades y llamamos a los métodos 
  //correspondientes del objeto email

  //Con PluginDir le indicamos a la clase phpmailer donde se 
  //encuentra la clase smtp 
  
$email->PluginDir "includes/";

  
//Con la propiedad Mailer le indicamos que vamos a usar un 
  //servidor smtp
  
$email->Mailer "smtp";

  
//Asignamos a Host el nombre de nuestro servidor smtp
  
$email->Host "smtp.midominio.com";

  
//Le indicamos que el servidor smtp requiere autenticación
  
$email->SMTPAuth true;

  
//Le decimos cual es nuestro nombre de usuario y password
  
$email->Username "miusuario"
  
$email->Password "mipass";

  
//Indicamos cual es nuestra dirección de correo y el nombre que 
  //queremos que vea el usuario que lee nuestro correo
  
$email->From "[email protected]";
  
$email->FromName "Boletín de Novedades";

  
//el valor por defecto 10 de Timeout   
  
$email->Timeout=10;

  
//Indicamos cual es la dirección de destino del correo. Para ello conectamos con la base de datos de emails
   
  
  
  
$email->AddAddress($datosmail[0]);
  
$email->IsHTML(true);
  
//Asignamos asunto y cuerpo del mensaje
  //El cuerpo del mensaje lo ponemos en formato html, haciendo 
  //que se vea en negrita
  
$email->Subject "Prueba de newsletter";
  
$email->Body 'Este es el mensaje';
   
  
//Definimos AltBody por si el destinatario del correo no admite email con formato html 
  
$email->AltBody "Su gestor de correos no recibe mensajes en formato HTML";

  
//se envia el mensaje, si no ha habido problemas 
  //la variable $exito tendra el valor true
  
$exito $email->Send();
  
  
//Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho 
  //para intentar enviar el mensaje, cada intento se hara 5 segundos despues 
  //del anterior, para ello se usa la funcion sleep    
  
$intentos=1
  while ((!
$exito) && ($intentos 5)) {
    
sleep(5);
         
//echo $email->ErrorInfo;
         
$exito $email->Send();
         
$intentos=$intentos+1;    
    
   }
 
        
   if(!
$exito)
   {
    echo 
"Problemas enviando correo electrónico a ".$valor;
    echo 
"<br>".$email->ErrorInfo;    
   }
    
sleep(2);// dormir dos segundos entre conexion al smtp 
    
header ("Location: exitonewsletter.php");
    }} 
pues eso es todo
__________________
desgraciadamente no conozco php ni la mitad de lo que lo conocen ustedes y eso es menos de la mitad de lo que yo querria y lo que yo querria es menos de la mitad de lo que la mitad de ustedes conocen