Si acabas de instalar Ghost y te has quedado bloqueado en el inicio de sesión por un fallo de validación, no te preocupes: te has topado con un obstáculo muy común.

Entiendo lo frustrante que resulta recibir un mensaje tan genérico como 'Failed to send email' justo después de instalar Ghost. Por eso, he preparado esta guía para ayudarte a resolver este inconveniente de forma rápida. La solución suele ser sencilla: revisar los ajustes de SMTP en tu archivo de configuración. Recuerda que Ghost depende totalmente de estos correos para validar accesos y gestionar membresías; sin esa conexión, el sistema de autenticación simplemente se detiene.
Ghost necesita enviar correos para casi todo, y si el SMTP falla, te bloquea el paso. ¿La solución rápida? Ignorar el problema por ahora. Vamos a saltarnos esa configuración y a deshabilitar la validación por correo para nuevos dispositivos.
Opción 1: Identificar la causa en el archivo config.production.json
El primer paso para solucionar esto es revisar nuestra instalación. Debemos localizar el archivo de configuración principal de Ghost, que normalmente se encuentra en la raíz de tu instalación.
- Accede a tu servidor vía SSH.
- Busca el archivo
config.production.json. - Revisa la sección
"security". Si está vacía o mal configurada, ahí tienes al culpable. - Cambia (o añade) la propiedad
staffDeviceVerificationafalse.
{
"url": "https://tudominio.com",
"database": { ... },
"mail": { ... },
"security": {
"staffDeviceVerification": false
},
"paths": { ... }
}5. Aplica los cambios y reincia la instancia ghost restart
Opción 2: Desactivar la verificación de dispositivo Easy Panel
Si estás usando Easypanel, es muy probable que el paso anterior no te funcione. Esto pasa porque Easypanel le da prioridad a sus propias variables de entorno por encima de lo que escribas manualmente en el archivo de configuración.
Como todavía no tienes el correo funcionando, Ghost se pondrá en modo protector y te pedirá un código de seguridad que nunca te llegará. Para saltarnos este bloqueo en Easypanel, haremos lo siguiente:
- Ve a la consola de administración de tu instancia en Easypanel.
- Busca la sección de Environment Variables (Variables de Entorno).
- Añade una nueva variable con estos datos:
url: La dirección de tu sitio web incluido https en caso de tener instalado un certificado ssl.security__staffDeviceVerification:false
url=https://misitioweb.com
database__client=mysql
database__connection__host=$(PROJECT_NAME)_ghost-db
database__connection__user=mysql
database__connection__password=passwwxxxx
database__connection__database=$(PROJECT_NAME)
security__staffDeviceVerification=false
Guarda los cambios e implementa de nuevo tu instancia.
Hacer esto te permite entrar directo con tu usuario y contraseña, saltándote el paso del email. Es un salvavidas perfecto para este momento, pero una vez que configures bien tu servicio de correo, recuerda volver a ponerlo en true. No queremos dejar la puerta abierta más tiempo del necesario.