lunes, 4 de julio de 2011

PHPList y su utilizacion con Cronjobs


PHPList y su utilizacion con Cronjobs

Atención, abrir en una nueva ventana. ImprimirE-mail
PHPList es quizás una de las mejores herramientas para el procesamiento de listas de correo de marketing o envio de correo masivo.
Soporta listas muy grandes, con una interface web sobria pero adecuada al trabajo del administrador, no duplica mensajes, con un buen soporte de templates, internacionalización, y procesa los rebotes de correos que ya no son validos.
Pero lo más importante y que desconocen muchos usuarios, es que es una herramienta diseñada para ser respetuoso con los demás usuarios del servidor, ya que permite el control de carga, el uso de tareas cron, para procesar las colas de mensajes y de rebotes.
Además de ser respetuoso con los servicios de un hosting compartido y podemos un uso eficiente, ya que obviar el respeto por los demás usuarios de un servidor compartido (shared hosting), nos coloca en mala situación frente a la gran mayoría de servicios de correo gratuito, e incluso servidores corporativos o compartidos como los nuestros que limitan el acceso temporalmente a otros servidores de correo, cuando estos envía cientos de correo en un plazo de tiempo corto.
Si trabajamos con los cron jobs y ajustamos bien nuestros valores, no solo seremos respetuosos, sino que seremos eficientes.
Vamos a mostraros el camino.

Configuracion de config.php

Buscaremos los valores descritos y los cambiaremos por los nuestros, ajustandolos a nuestras necesidades.

 # Si ponemos a 0 no podremos procesar los rebotes desde la página de nuestro PHPList

02.# Es aconsejable cuando tenemos un cron ponerlo a 0 ya que lo procesara el cron

03.# Consultar README.commandline

04.define("MANUALLY_PROCESS_BOUNCES",0);

05.

06.# Igual que el anterior, el valor a 0 elimina la posibilidad de usar la interface web

07.# para procesar los colas.

08.define("MANUALLY_PROCESS_QUEUE",1);

09.

10.# Define la cantidad de mensajes de correo electrónico que desea enviar en cada período de

11.# tiempo. Si el valor es 0, el procesamiento por lotes se desactiva y los mensajes

12.# se envian tan rapido con sea posible.

13.define("MAILQUEUE_BATCH_SIZE",100);

14.

15.# 100 x 6 (1o minutos de cada periodo)= 600 hora

16.define("MAILQUEUE_BATCH_PERIOD",600); # 10 minutos

17.

18.# Periodo en tiempo de cada procesamiento. No debe superar el max PHP Timeout ->

19.# max_execution_time en php.ini

20.define('MAILQUEUE_THROTTLE',1);

21.

22.# Domain Throttling

23.# Activado (1) define la cantidad de correos que quieres enviar a cualquier dominio en

24.# un número de segundos. Esto te permitirá no enviar grandes cantidades de correo

25.# en corto espacio de tiempo al mismo dominio, lo que puede ser una causa de bloqueo

26.# en el sistema de destino, como lo es por ejemplo, aol.com, hotmail.com, yahoo.com,

27.# gmail.com. Con esto evitarÁs que tu lista bloquee la Ip del servidor, lo cual es,

28.# beneficioso para ti o para los demás usuarios. En el ejemplo propuesto se enviaría

29.# un máximo de 1 mensaje cada minuto al mismo dominio.

30.define('USE_DOMAIN_THROTTLE',1);

31.define('DOMAIN_BATCH_SIZE',1);

32.define('DOMAIN_BATCH_PERIOD',60);

33.

34.# Puede ocurrir que la lista de direcciones a un determinado servidor sea muy elevada,

35.# lo cual puede hacer que la cola tenga que procesarse muchas veces y durante

36.# mucho tiempo. Con esta opción le pedimos a PHPList un simple tiempo de espera (delay)

37.# entre mensajes para incrementar el número de mensajes enviados por cola.

38.# La opción es ejecutar múltiples veces por hora la tarea cron que se recomienda cada

39.# 10 ó 15 minutos

40.define('DOMAIN_AUTO_THROTTLE',1);

Cron configuracion
En el caso de añadirlo desde el shell (ssh :: Como usar SSH en Islaserver) deberemos añadirlo cambiando los valores entre <> (la barra indica un retorno de carro que debe eliminarse. Se hace para evitar el efecto no deseado del formato web.

*/10 * * * * lynx -dump '/admin/index.php?page=processqueue&login=&password=' > phplist.processqueue.html

2.35 * * * * lynx -dump '/admin/index.php?page=processbounces&login=&password=' > phplist.processbounces.html 

Si usamos Cpanel deberemos añadir una a una las dos tareas introduciendo los valores adecuados


Añadir una tarea cron

No hay comentarios:

Publicar un comentario

Nos interesa tu opinión Dejanos tu comentario sobre este artículo

Quieres aprender más de informática?

Te recomendamos visitar estos enlaces para ser un experto: