Centro de Ayuda

Solucionando Problemas de Envío en phpList: Cronjobs y Configuración

Solucionando Problemas de Envío en phpList: Cronjobs y Configuración

PHP List es una poderosa herramienta de gestión de boletines de correo electrónico. Con phpList, podrás enviar boletines informativos, promociones y actualizaciones a tus suscriptores de manera eficiente y efectiva. Esta aplicación es ideal para mantener a tus clientes informados sobre las últimas novedades de tu empresa, promociones especiales o cualquier otra información relevante.

phpList ofrece una serie de ventajas, como la capacidad de segmentar tu lista de suscriptores, realizar un seguimiento del rendimiento de tus campañas de correo electrónico y personalizar tus mensajes para cada destinatario. Además, phpList es fácil de usar y ofrece una interfaz intuitiva que te permite crear y enviar correos electrónicos de manera rápida y sencilla.

A continuación encontrarás los pasos para utilizar phpList y aprovechar al máximo esta potente herramienta de marketing por correo electrónico.

Primero deberemos de configurar la aplicación para que pueda enviar los mensajes

  1. Configuración SMTP:
    Editar el archivo `config/config.php` para configurar el envío a través de SMTP. Sigue estos pasos:
     - Encuentra las líneas siguientes:
    define('PHPMAILERHOST', '');
    //$phpmailer_smtpuser = 'smtpuser';
    //$phpmailer_smtppassword = 'smtppassword';


    - Edita las líneas como se indica:
    define('PHPMAILERHOST', 'localhost');
    $phpmailer_smtpuser = 'correo@tudominio.com';
    $phpmailer_smtppassword = 'password';
  2. Configura SPF, DKIM y DMARC
    Garantiza que tus correos electrónicos se envíen desde una dirección IP autorizada y evita que sean marcados como spam mediante la configuración correcta de registros SPF, DKIM y DMARC. Estos registros aumentan la autenticidad de tus envíos y son esenciales para la reputación de tu dominio. Asegúrate de configurarlos correctamente para una entrega de correo confiable. ¿Necesitas ayuda para configurar los registros? ¡Contáctanos y estaremos encantados de asistirte!
  3. Configuración por lotes
    Edita nuevamente `config/config.php` para dividir los envíos en lotes y evitar problemas de restricción.
    - Encuentra las líneas siguientes:
    define('MAILQUEUE_BATCH_SIZE', 0);
    define('MAILQUEUE_BATCH_PERIOD', 3600);
    define('MAILQUEUE_THROTTLE', 0);


    - Edita las líneas como se indica:
    define('MAILQUEUE_BATCH_SIZE', 500); # CANTIDAD DE CORREOS ENVIADOS POR HORA
    define('MAILQUEUE_BATCH_PERIOD', 3600);
    define('MAILQUEUE_THROTTLE', 0.2);

Hasta aquí todo está correctamente configurado en la aplicación, sin emabrgo, enviar correos electrónicos a listas grandes puede volverse complicado cuando se trata de manejarlos manualmente y esto se debe a que el proceso requiere que mantengas la pestaña abierta en tu navegador, lo que puede ser inconveniente y llevar a bloqueos en el equipo.

Para evitar este problema y garantizar un envío eficiente de correos electrónicos, podemos recurrir a una solución automatizada mediante el uso de cronjobs.

Los cronjobs son una herramienta poderosa que permite programar tareas para que se ejecuten automáticamente en intervalos específicos. En este caso, utilizaremos un cronjob para que el servidor se encargue de procesar la cola de envío de correos electrónicos en phpList de manera automática, sin necesidad de que mantengas la pestaña abierta en tu navegador.

El comando de cronjob que necesitamos utilizar es el siguiente:

0 * * * * /opt/alt/php81/usr/bin/php -q /home/USERNAME/public_html/admin/index.php -pprocessqueue -c/home/USERNAME/public_html/config/config.php >/dev/null

Este comando se encarga de ejecutar un script de PHP en el servidor, que procesa la cola de envío de correos electrónicos de phpList.

A continuación encontrarás el funcionamiento del comando:

  • 0 * * * *: Esto indica la frecuencia de ejecución del cronjob. En este caso, el cronjob se ejecutará cada hora en el minuto cero (es decir, al comienzo de cada hora)
  • /opt/alt/php81/usr/bin/php: Es la ruta al ejecutable de PHP en el servidor
  • -q /home/USERNAME/public_html/admin/index.php: Es la ruta al script de phpList que procesa la cola de envío de correos electrónicos
  • -pprocessqueue: Es el parámetro que indica al script que debe procesar la cola de envío de correos electrónicos
  • -c/home/USERNAME/public_html/config/config.php: Es la ruta al archivo de configuración de phpList
  • >/dev/null: Esto redirige la salida del comando a /dev/null, lo que significa que no se mostrarán mensajes de salida del comando.

Al configurar este cronjob en tu cuenta, garantizarás que la cola de envío de correos electrónicos en phpList se procese de manera automática y eficiente, sin necesidad de que estés presente para mantener abierta la pestaña en tu navegador.

Esto te permitirá ahorrar tiempo y recursos, y asegurarte de que tus correos electrónicos lleguen a tus destinatarios de manera oportuna y sin interrupciones.

MANEJO DE REBOTES

Una vez que los correos han sido enviados, es esencial procesar los rebotes de manera eficiente para mantener una lista de contactos limpia y actualizada.

Eliminar los registros que hayan fallado garantiza que solo se envíen mensajes a direcciones de correo válidas, mejorando la entregabilidad y la reputación del servidor.

Para lograr este proceso de manera efectiva, es fundamental configurar adecuadamente el manejo de rebotes, una tarea que abordaremos detalladamente en los próximos párrafos. Una configuración óptima no solo facilitará la identificación y eliminación de rebotes, sino que también optimizará el flujo de comunicación con los suscriptores.

Identifica en tu archivo de configuración las siguientes variables y ajústalas de acuerdo con tu servidor

> $message_envelope = 'correo_enviador@dominio.com';
> $bounce_protocol = 'pop';
> define('MANUALLY_PROCESS_BOUNCES', 1);
> $bounce_mailbox_host = 'hostname.com';
> $bounce_mailbox_user = 'correo_enviador@dominio.com';
> $bounce_mailbox_password = '*******';
> $bounce_mailbox_port = '110/pop3/notls';
> $bounce_mailbox = '/pop3';
> $bounce_mailbox_purge = 1;
> $bounce_mailbox_purge_unprocessed = 1;
> $bounce_unsubscribe_threshold = 5;
> define('REPORT_DELETED_BOUNCES', 0);
> $bounce_mailbox_name = 'INBOX'; // Carpeta en la que se buscarán los rebotes, recomendado "Inbox"
> $bounce_mailbox_maximum = 100000;
> $bounce_rules_batch_size = 50;

 

La correcta gestión de los rebotes en PHPList es fundamental para mantener una lista de correos electrónicos actualizada y garantizar una comunicación efectiva con los suscriptores. Al procesar y eliminar los registros que hayan fallado, se mejora la eficiencia del servicio de correo electrónico y se evitan problemas de reputación del servidor.

A lo largo de este artículo, hemos destacado la importancia de una configuración adecuada para manejar los rebotes y hemos proporcionado pautas claras para lograrlo.

Al implementar estas prácticas, los usuarios pueden mantener una lista limpia y optimizar sus campañas de correo electrónico con PHPList.

¡Vamos a hacerlo!

Comienza HOY por sólo $69.00/mes

Incluye constructor web, 30GB en la nube, +200 Apps y correo electrónico profesional.

Contratar Ahora