¿Tu cuenta principal de Hotmail dejó de enviar mensajes con msmtp + Neomutt y te lanza “535 5.7.139 Authentication unsuccessful, account locked”? Tranquilo: a continuación encontrarás un procedimiento probado —y preparado para los futuros cambios de Microsoft— que restaura el envío y evita que el fallo vuelva a aparecer.
Significado real del error “535 5.7.139”
El código 535 es una respuesta SMTP genérica de fallo de autenticación; el sub‑código 5.7.139 es propio de Microsoft 365/Outlook.com y denota que la cuenta ha sido temporalmente bloqueada después de repetidos intentos fallidos o de un acceso considerado “inseguro”. En otras palabras:
- Tu usuario y contraseña (o contraseña de aplicación) son correctos.
- El servidor percibe la conexión como “básica” y, por política, la descarta.
- El bloqueo se levanta solo, pero vuelve tras pocos envíos porque la causa raíz persiste.
Aislar la causa: por qué solo falla la combinación msmtp + Neomutt
Antes de aplicar correcciones, verifica estos puntos para descartar factores externos:
Prueba | Resultado esperado | Conclusión |
---|---|---|
Enviar desde Outlook.com web | Éxito | Credenciales y cuenta correctas |
Enviar desde Outlook for Windows / macOS | Éxito | OAuth funciona → bloqueo focalizado |
Enviar la segunda cuenta Hotmail con msmtp | Éxito | El problema se limita a la primera cuenta |
VPN / red móvil diferente | Falla igual | No es un bloqueo por IP |
Resultado: el gatillo es la autenticación básica del par msmtp → Hotmail en esa cuenta concreta. Microsoft endurece la seguridad de forma gradual, así que puede afectar a unas cuentas antes que a otras.
Solución rápida y estable: usar un alias de Outlook.com
Crear un alias dentro de la misma bandeja de entrada y configurarlo en msmtp evita el bloqueo porque el alias se procesa como “identidad nueva” y reinicia los contadores de seguridad. Funciona incluso si el alias usa el mismo dominio @outlook.com
o @hotmail.com
.
Paso a paso
- En el portal de Outlook.com → Configuración → Correo → Sincronización de correo electrónico → Alias, pulsa “Agregar alias” y elige un nombre.
- Genera una contraseña de aplicación específica para “Envío de correo SMTP”.
- Edita
~/.msmtprc
(o el fichero que uses) así:
account hotmail-alias
host smtp.office365.com
port 587
auth login
user alias_nuevo@outlook.com
password tucontraseñade_app
tls on
tls_starttls on
from alias_nuevo@outlook.com
logfile ~/.msmtp.log
Guarda y otorga permisos chmod 600 ~/.msmtprc
. En Neomutt, referencia esta cuenta o bien exporta sendmail="msmtp -a hotmail-alias"
.
¿Por qué funciona el alias y cuánto durará?
Un alias delega el envío a la misma bandeja, pero Microsoft lo “ve” como una entidad sin historial de fallos. Mientras la autenticación siga siendo básica, el alias permanecerá operativo. Sin embargo, Microsoft ha anunciado la retirada definitiva de la autenticación básica para cuentas personales en fases que culminarán a finales de 2026. Por ello, considera el alias una solución interina.
Alternativa provisional: regenerar periódicamente la contraseña de aplicación
Si no quieres usar un alias, puedes:
- Eliminar la contraseña de aplicación anterior.
- Crear una nueva con ámbito “Envío de correo” (reduce el riesgo).
- Actualizar
.msmtprc
.
Funciona, pero el bloqueo reaparecerá porque la causa subyacente —la falta de OAuth— sigue presente.
Solución a largo plazo: adoptar OAuth / XOAUTH2
msmtp incorporó soporte experimental de auth oauthbearer
en la versión 1.9.0 y es totalmente estable desde 1.10. Los pasos generales son:
- Actualizar
msmtp
con tu gestor de paquetes (pacman -S msmtp
,apt install msmtp-mta
, etc.). - Instalar la utilidad oauth2ms o
msmtp-oauth2-proxy
para obtener y renovar tokens. - Registrar la aplicación “SMTP client” en el Portal de Azure (tipo “Cuentas personales Microsoft”).
- Anotar los valores
clientid
ytenantid
. - Crear un fichero
~/.config/msmtp/oauth2.cfg
con:
[outlook]
clientid = TUCLIENT_ID
tenant = consumers
refreshtoken = TUREFRESH_TOKEN
Ejemplo completo de ~/.msmtprc con OAuth
account hotmail-oauth
host smtp.office365.com
port 587
auth oauthbearer
user tu_usuario@outlook.com
passwordeval "oauth2ms smtp --config ~/.config/msmtp/oauth2.cfg --user tu_usuario@outlook.com"
tls on
tls_starttls on
from tu_usuario@outlook.com
logfile ~/.msmtp.log
El comando oauth2ms smtp
genera el Bearer Token al vuelo, de modo que no se almacena en disco. El refresh token se renueva automáticamente sin tu intervención.
Ventajas adicionales de OAuth
- Elimina la necesidad de contraseñas de aplicación.
- Previene bloqueos 535 porque la autenticación es considerada “moderna”.
- Permite revocar tokens desde el panel de Microsoft sin cambiar la clave principal.
- Es compatible con MTA intermedios (Postfix) que llamen a msmtp como transport.
Buenas prácticas para maximizar la fiabilidad
Aplica estas recomendaciones, ya uses alias, contraseña de aplicación u OAuth:
Práctica | Descripción |
---|---|
Evitar reintentos automáticos | Configura Neomutt para no reenviar en bucle; cada fallo suma al contador de Microsoft. |
Registrar la hora UTC de cada envío | Con la opción set sendmail_wait=-1 y msmtp --syslog localizas el momento exacto de un bloqueo. |
Usar tlstrustfile | Incluye certificados raíz actualizados para prevenir errores de TLS que a veces se confunden con 535. |
Separar logs por cuenta | Define logfile ~/.msmtp.%a.log ; facilita depuración cuando manejas varias identidades. |
Calendario estimado de la retirada de autenticación básica
Aunque Microsoft pospuso fechas varias veces, el itinerario público más reciente para cuentas personales (Hotmail/Outlook.com) es:
- abril 2024 – deshabilitación para “usuarios de muy alto riesgo”.
- enero 2025 – bloqueo intermitente para todos los usuarios que sigan usando SMTP AUTH básica.
- finales 2026 – apagado definitivo salvo excepciones justificadas (accesibilidad, cuentas infantiles, etc.).
Mantente atento al Microsoft 365 Roadmap ID 125984 y a los comunicados desde la bandeja de entrada (remitente no-reply@microsoft.com
).
Preguntas frecuentes
- ¿Puedo seguir usando el puerto 25 sin TLS? No. Outlook.com exige
starttls
en 587; el puerto 25 está capado para cuentas personales. - ¿Funciona XOAUTH2 con cuentas antiguas
@hotmail.es
? Sí, mientras estén migradas a la infraestructura Outlook.com —lo están desde 2017. - ¿Necesito un servidor IMAP aparte? No, OAuth se negocia igualmente para
imap-mail.outlook.com
si lo configuras. - ¿Qué ocurre si uso un alias como remitente pero respondo desde la web? Outlook.com muestra ambas direcciones y permite elegir; no rompe el DKIM/DMARC.
- ¿Y si mi distribución no empaqueta msmtp ≥ 1.10? Compílalo desde el código fuente o usa un paquete flatpak/snap; el binario ocupa apenas 400 kB.
Conclusión
El error “535 5.7.139 Authentication unsuccessful, account locked” es la forma en que Microsoft empuja a abandonar la autenticación básica. Mientras adoptas OAuth, dos vías aseguran el envío estable con msmtp + Neomutt:
- Crear un alias y usarlo en lugar de la dirección principal.
- Regenerar contraseñas de aplicación limitadas al envío (opción menos duradera).
La solución definitiva es compilar o actualizar msmtp con soporte OAuth 2.0 / XOAUTH2 y registrar tu propio “SMTP client” en Azure: se acabaron los bloqueos y tus credenciales estarán alineadas con las políticas de seguridad que regirán a partir de 2026. ¡Manos a la obra y corre la voz para que otros usuarios de clientes de consola no se queden sin correo!