Cosas de PHPDesarrollo web

✅ Cómo solucionar el error “Cannot authenticate to POP3 server” en PHPlist con Gmail

Solucionar el error de autenticación POP3 en PHPlist al integrar Gmail para el manejo automático de correos rebotados.



Cosas de PHPlist

Cuando se utiliza PHPlist para gestionar campañas de email, una parte fundamental del proceso es el manejo de los rebotes (bounces). Esto generalmente se hace conectándose a una cuenta de correo mediante POP3. Sin embargo, si estás usando Gmail, puedes encontrarte con el siguiente error:

PHPlist - Cannot create POP3 connection to pop.gmail.com: 
Can not authenticate to POP3 server: [AUTH] Username and password not accepted.

Este problema tiene que ver con los requisitos de seguridad de Gmail. A continuación, te muestro cómo solucionarlo paso a paso.


🧩 Causa del error

Desde 2022, Gmail deshabilitó el acceso a «aplicaciones menos seguras», lo que significa que ya no se puede usar una contraseña normal para acceder vía POP3. En su lugar, debes generar una contraseña de aplicación, que es una clave específica para permitir el acceso a aplicaciones externas como PHPlist.


🛠️ Paso a paso: solución definitiva

1. ✅ Activar la verificación en dos pasos (2FA) en Gmail

  1. Ve a https://myaccount.google.com/security
  2. Activa verificación en dos pasos
  3. Completa el proceso de verificación (código por SMS, app, etc.)

2. 🔐 Generar una contraseña de aplicación

  1. Una vez activada la verificación en dos pasos, ve a:
    https://myaccount.google.com/apppasswords
  2. En el formulario:
    • App: selecciona Correo
    • Dispositivo: elige Otro y escribe por ejemplo: PHPlist
  3. Haz clic en Generar
  4. Se mostrará una contraseña de 16 caracteres. Ejemplo:
    abcd efgh ijkl mnop

⚠️ Guarda esta contraseña, ya que no se volverá a mostrar.


3. 🧪 Probar conexión POP3 desde consola (opcional pero útil)

Esto te ayuda a comprobar que el acceso es correcto antes de usar PHPlist:

openssl s_client -connect pop.gmail.com:995

Una vez conectado:

user tuemail@gmail.com
pass tu_contraseña_de_aplicación
list
quit

Si ves:

+OK Mailbox locked and ready

¡Todo está bien!


4. 🛠️ Configurar PHPlist con la contraseña de aplicación

Edita tu archivo config/config.php y asegúrate de que los siguientes valores estén definidos correctamente:

$bounce_mailbox_host = 'pop.gmail.com';
$bounce_mailbox_user = 'tuemail@gmail.com';
$bounce_mailbox_password = 'abcdijklmnop...'; // contraseña de aplicación
$bounce_mailbox_port = "995";
$bounce_mailbox_type = 'pop3';
$bounce_mailbox_purge = 1;
$bounce_mailbox_ssl = true;

Guarda los cambios.


5. ▶️ Ejecutar el procesamiento de rebotes

Ahora que todo está configurado correctamente, puedes procesar los rebotes con:

phplist -pprocessbounces

Si todo está bien, verás algo como:

PHPlist - phpList version 3.6.X ...
Bounces found: X
Processing bounce from: ...

✅ Resultado

Con esta configuración:

  • Evitas errores de autenticación.
  • Procesas los rebotes de forma segura con Gmail.
  • Cumples con las políticas de seguridad de Google.