Simplifica el uso de phpList: Procesa Rebotes y Cola con Comandos Personalizados




Cosas de phplist

Si trabajas con phpList, una herramienta poderosa para gestionar campañas de correo masivo, probablemente ya estés familiarizado con los comandos -pprocessbounces y -pprocessqueue. Estos comandos se utilizan para gestionar los correos rebotados y para procesar la cola de correos pendientes. Sin embargo, escribir la ruta completa del archivo index.php cada vez que desees ejecutar uno de estos comandos puede ser tedioso. Afortunadamente, existen formas sencillas de simplificar este proceso y hacer que puedas ejecutar estos comandos de manera más rápida.

En este post, veremos tres formas diferentes de lograrlo: alias, scripts y wrappers de PHP. Cada uno tiene sus ventajas, y al final del artículo, podrás elegir cuál se adapta mejor a tus necesidades.

Opción 1: Crear un Alias para phpList

Un alias es una forma de crear un comando corto que apunta a un comando más largo. Con un alias, puedes ejecutar phpList con un comando más sencillo, sin necesidad de escribir la ruta completa.

Pasos para crear un alias:

  1. Edita el archivo de configuración de tu shell: Abre el archivo de configuración de tu shell (.bashrc para bash o .zshrc para Zsh) en un editor de texto: nano ~/.bashrc
  2. Añade el alias: Al final del archivo, agrega las siguientes líneas para crear alias personalizados para los comandos que desees ejecutar: alias phplistbounces="php -q /ruta/a/phplist/admin/index.php -pprocessbounces" alias phplistqueue="php -q /ruta/a/phplist/admin/index.php -pprocessqueue" Asegúrate de reemplazar /ruta/a/phplist/ con la ruta correcta a tu instalación de phpList.
  3. Aplica los cambios: Para que los alias estén disponibles en tu terminal, recarga la configuración del shell con el siguiente comando: source ~/.bashrc
  4. Usa los alias: Ahora, puedes ejecutar los comandos de forma más sencilla:
    • Para procesar los rebotes: phplistbounces
    • Para procesar la cola: phplistqueue

Opción 2: Crear un Script para phpList

Si prefieres algo más flexible que un alias, puedes crear un script que automatice el proceso de ejecutar los comandos de phpList. El script también puede ser personalizado para aceptar argumentos y ofrecer más opciones.

Pasos para crear un script:

  1. Crea un archivo de script: Crea un nuevo archivo de script, por ejemplo phplist_process.sh, en un directorio accesible, como /usr/local/bin/: sudo nano /usr/local/bin/phplist_process.sh
  2. Escribe el script: Agrega el siguiente contenido al archivo del script: #!/bin/bash # Verifica el argumento pasado al script if [ "$1" == "bounces" ]; then php -q /ruta/a/phplist/admin/index.php -pprocessbounces elif [ "$1" == "queue" ]; then php -q /ruta/a/phplist/admin/index.php -pprocessqueue else echo "Uso: phplist_process.sh {bounces|queue}" exit 1 fi Asegúrate de reemplazar /ruta/a/phplist/ con la ruta correcta a tu instalación de phpList.
  3. Haz el script ejecutable: Después de guardar el archivo, hazlo ejecutable con el siguiente comando: sudo chmod +x /usr/local/bin/phplist_process.sh
  4. Usa el script: Ahora puedes ejecutar el script con un simple comando, pasando el parámetro adecuado:
    • Para procesar los rebotes: phplist_process.sh bounces
    • Para procesar la cola: phplist_process.sh queue

Opción 3: Crear un Wrapper de PHP para phpList

Si prefieres que phpList funcione como un comando directo sin tener que escribir la ruta completa, puedes crear un wrapper que actúe como un «intermediario» entre la terminal y el archivo PHP de phpList.

Pasos para crear un wrapper:

  1. Crea un archivo ejecutable: Crea un archivo en un directorio que esté en tu variable de entorno PATH, como /usr/local/bin/. Por ejemplo, crea el archivo phplist: sudo nano /usr/local/bin/phplist
  2. Escribe el contenido del archivo: En el archivo, agrega el siguiente contenido: #!/bin/bash php -q /ruta/a/phplist/admin/index.php "$@" Esto redirige cualquier comando que pases a phpList, como -pprocessbounces o -pprocessqueue.
  3. Haz el archivo ejecutable: Haz que el archivo sea ejecutable con el siguiente comando: sudo chmod +x /usr/local/bin/phplist
  4. Usa el comando: Ahora, puedes usar el comando directamente:
    • Para procesar los rebotes: phplist -pprocessbounces
    • Para procesar la cola: phplist -pprocessqueue

Comparación de Opciones

OpciónVentajasDesventajas
AliasMuy sencillo de configurar y usar.Limitado a un único comando, sin flexibilidad.
ScriptFlexible, permite personalizar y agregar más lógica.Requiere escribir un poco más de código.
WrapperFunciona como el comando phpList directamente, sin especificar rutas.Requiere tener un archivo ejecutable en el PATH.

Conclusión

Cada una de estas opciones te permitirá ejecutar los comandos de phpList de forma más eficiente y sencilla. Si buscas una solución rápida y fácil, los alias son la mejor opción. Si prefieres algo más flexible y con mayor control, un script es lo que necesitas. Y si quieres simplificar aún más la ejecución, un wrapper te permitirá usar el comando phpList como si fuera un comando nativo del sistema.

¡Elige la opción que más se ajuste a tus necesidades y optimiza tu experiencia con phpList!