Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Envío de Newsletters mediante php

Estas en el tema de Envío de Newsletters mediante php en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 11/12/2013, 13:44
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años
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
  #2 (permalink)  
Antiguo 11/12/2013, 14:19
 
Fecha de Ingreso: noviembre-2013
Mensajes: 78
Antigüedad: 10 años, 4 meses
Puntos: 4
Respuesta: Envío de Newsletters mediante php

buena pregunta, le doy up al tema por que yo tampoco se XD..

edito!,

no se nada respecto al tema pero ve si puedes probar esta funcion que encontre por ahi mirando un poco, no se si aceptara tanto tiempo pero revisalo porsiacaso te puede servir

<script>
function cron()
{
alert("hola");
}

time=setInterval(cron, 5000); //cada 5 segundos llamará a la función
</script>
<a href="javascript:clearInterval(time);">Matar tiempo</a>



entonces ese js puede llamar al php que te ejecute el envio de mails

Última edición por WorseMzg; 11/12/2013 a las 14:23 Razón: encontre algo de infor
  #3 (permalink)  
Antiguo 11/12/2013, 14:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Envío de Newsletters mediante php

Es mala idea implementar un sistema de newsletter propio si no se cuenta con la experiencia técnica adecuada, he ahí el principal problema.

Debes entender que un buen sistema debe usar la herramienta correcta para cada problema, tu servidor de hosting no es ni debería ser también un servidor encargado de enviar correos.

Para eso, o contratas un servidor dedicado para no andar pidiendo a los de soporte ajustes (porque debes ser los suficientemente capaz de hacerlo por ti mismo) o utilizas algún servicio especializado para ello.

Mi recomendación:

Si tienes talento para levantar un servidor dedicado para dicha tarea, puedes usar Amazon o Linode.

Si quieres resolver el problema de manera fácil, cómoda, con mejores resultados y muchas otras prestaciones excepcionales, deberías usar Mailchimp.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 11/12/2013, 14:46
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años
Puntos: 0
Respuesta: Envío de Newsletters mediante php

Cita:
Iniciado por WorseMzg Ver Mensaje
buena pregunta, le doy up al tema por que yo tampoco se XD..

edito!,

no se nada respecto al tema pero ve si puedes probar esta funcion que encontre por ahi mirando un poco, no se si aceptara tanto tiempo pero revisalo porsiacaso te puede servir

<script>
function cron()
{
alert("hola");
}

time=setInterval(cron, 5000); //cada 5 segundos llamará a la función
</script>
<a href="javascript:clearInterval(time);">Matar tiempo</a>



entonces ese js puede llamar al php que te ejecute el envio de mails
Estaré probando esto mañana en la mañana ya que estoy por irme a casa en 10 min. Gracias por el consejo.


Cita:
Iniciado por pateketrueke Ver Mensaje
Es mala idea implementar un sistema de newsletter propio si no se cuenta con la experiencia técnica adecuada, he ahí el principal problema.

Debes entender que un buen sistema debe usar la herramienta correcta para cada problema, tu servidor de hosting no es ni debería ser también un servidor encargado de enviar correos.

Para eso, o contratas un servidor dedicado para no andar pidiendo a los de soporte ajustes (porque debes ser los suficientemente capaz de hacerlo por ti mismo) o utilizas algún servicio especializado para ello.

Mi recomendación:

Si tienes talento para levantar un servidor dedicado para dicha tarea, puedes usar Amazon o Linode.

Si quieres resolver el problema de manera fácil, cómoda, con mejores resultados y muchas otras prestaciones excepcionales, deberías usar Mailchimp.
Te agradezco el mensaje y las herramientas, pero al margen quería comentarte que esto del newsletter es nuevo para mí y lo voy haciendo como puedo, siempre apuntando a mi objetivo (que es que mis clientes tengan el newsletter al cual se suscribieron en su bandeja de entrada todos los meses).

No puedo decirle a mis suscriptores "miren, hoy no envío el correo porque no cuento con las herramientas adecuadas" ya que se darían de baja, quedarían muy disconformes.

Entiendo que sea mala idea implementarlo yo mismo, pero también entiendo que, de no hacer nada al respecto (por más "poco profesional" que quede), me quedo sin trabajo !.

De momento estaré chequeando Mailchimp ya que dices que es rápido y fácil, por mientras tanto estaré viendo de implementar una solución "más profesional" como implementar mi propio servidor.

Saludos y gracias por las respuestas.
  #5 (permalink)  
Antiguo 11/12/2013, 21:37
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 2 meses
Puntos: 21
Respuesta: Envío de Newsletters mediante php

hacerlo con tu hosting compartido no es la mejor solución para ese volumen.
Utiliza MailChimp o http://mailrelay.com/es

Te recomiendo pruebes primero ya que muchos hosting te cierran los puertos para este tipo de envíos. Yo batallé un poco para iniciar con MailChimp por esta causa con un hospedador.

No requieres un dedicado para este tipo de servicios, te meterás en otros problemas de administración que no tiene sentido te compliques.

Al utilizar MailChimp o http://mailrelay.com/es significará que seguirás como ahora, pero sin restriccions de tiempo.

Por otra parte, si lo quieres, lo puedes hacer con tu hosting actual y un cron dedicado a ello.

Espero te puedan servir mis comentarios.
  #6 (permalink)  
Antiguo 12/12/2013, 07:46
 
Fecha de Ingreso: octubre-2012
Ubicación: Madrid
Mensajes: 87
Antigüedad: 11 años, 5 meses
Puntos: 7
Respuesta: Envío de Newsletters mediante php

Si utilizas el script usando un usuario SMTP, tu proveedor de hosting si estás en un compartido, lo normal, es que con ese volumen que quieres enviar, te bloquee. Normalmente suele estar limitado a 300 correos/hora por dominio.

Otra opción típica: que contrates un vps para tí solo y pases de las limitaciones del compartido.
__________________
DigitalValley.com
Cloud Privado para resellers y desarrolladores | VPS SSD Hosting desde 1997
  #7 (permalink)  
Antiguo 12/12/2013, 10:04
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años
Puntos: 0
Respuesta: Envío de Newsletters mediante php

Les dejo mis gracias a todos por su colaboración, estoy implementando ya las herramientas que me dejaron.

Una vez logre realizar el primer envío marco el asunto como solucionado.

Lo dejo abierto por si me surge algún inconveniente durante el uso :)

Saludos !
  #8 (permalink)  
Antiguo 16/12/2013, 14:21
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años
Puntos: 0
Respuesta: Envío de Newsletters mediante php

Bueno,

estuve utilizando mailchimp, aunque obviamente al tener 3500 suscriptores me pide que actualice mi cuenta a una de pago.

No estoy del todo seguro si me conviene utilizar ese sistema.

Pensándolo un poco preferiría realizar una inversión y crear mi propio servidor en una pc dedicada exclusivamente a ello ...

Me terminaría saliendo mucho mejor.. obviamente soy conciente de que la idea es muy bonita, pero llevarla a práctica

me dará algunos dolores de cabeza y me consumirá un buen tiempo. Pero creo que a fin de cuentas es la mejor

alternativa..

Marco el tema como solucionado, gracias a todos por los aportes.

Saludos !

Etiquetas: html, mediante, newsletters
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:33.