Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2013, 13:44
Snowball
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años, 1 mes
Puntos: 0
Envío de Newsletters mediante php

Hola, buenas a todos.

Les comento me estoy encargando del envío del newsletter para una empresa la cual ya cuenta con 3500 suscriptos (que van en aumento).

Actualmente realizo el envío de estos newsletters usando phpmailer (supongo conocido por todos, o al menos la mayoría).

Para realizar el envío utilizo el siguiente código

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php
require("class.phpmailer.php"); //Importamos la función PHP class.phpmailer

$mail = new PHPMailer();

//Validación por SMTP:
$mail->IsSMTP();
$mail->SMTPAuth true// True para que verifique autentificación de la cuenta o de lo contrario False
$mail->Host "localhost";
$mail->Username "usuario"// Usuario
$mail->Password "clave"// Password
$mail->IsHTML(true);


$mail->From "mimail@midominio"//utilizo un mail que es conocido por los suscriptos para que el newsletter no vaya a la carpeta de spam
$mail->FromName "nombre";
$mail->Subject "el asunto de mi newsletter";
require(
"mails.php"); //aca importo todas las casillas usando AddBCC
$headers "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$body '
<html>
Contenido del newsletter
</html>
'


$mail->Body $body;

// Estatus del envío

if(!$mail->Send()){
   echo 
"No se realizó el envío. Compruebe que las casillas en mails.php se encuentran correctamente escritas e inténtelo nuevamente";
}else{
   echo 
"Se realizó el envío con éxito.";
}

?>
</body>
</html>

-------------------

Bien, el código funciona OK, pero mi problema surge en cuanto a la cantidad de mails se refiere.

Mi empresa utiliza un dominio de pago, el cual tiene un límite de envío de 250 mails/hora.

Esto significa que para enviar los 3500 newsletters, tengo que cargar de a 200 mails al archivo mails.php, subir el archivo mails.php a mi servidor y luego ejecutar el código que puse más arriba. Una vez transcurrida una hora, nuevamente cargo 200 mails nuevos, subo el archivo y vuelvo a ejecutar.

Cargo de a 200 mails porque durante la jornada de trabajo nosotros enviamos mails con cotizaciones, respuestas, etc. y no puedo consumirme toda la capacidad de mails por obvias razones.

Llame a mi hosting con motivo de pedir un incremento pero me lo negaron, alegando que de incrementarme el límite podrían considerarme un spammer (y perjudicarlos a ellos) <- de todas formas estoy en total desacuerdo con eso, pero no iba a ponerme a discutir con la chica así que, mientras voy sugiriendo a mi jefe cambiarme a otro hosting, me las arreglo como puedo.

Como no soy un experto en php, decidí plantear mi problema aca y ver si alguien puede darme una mano con el asunto.

Mi idea es poder modificar el código para que, con una sola ejecución, vaya enviando los mails en interválos de 1 hora.

No se si me explico, quiero cargar todos los mails suscriptos a "mails.php" y modificar el código de manera que vaya enviando 200 mails/hora hasta acabar con la totalidad de mails en mails.php

Quiza lo que pido es un imposible, si es asi sepan aceptar mis disculpas.

De todas formas quedo abierto a cualquier tipo de ayuda en el asunto.

Saludos y Gracias