Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo resolver problemas de Exim en linux

 Le pedimos a Gemini, la inteligencia artificial de Google, nos explique cómo resolver problemas de Exim en linux

Explicanos detalladamente cómo resolver problemas de Exim en linux

Resolver problemas en Exim puede parecer intimidante al principio porque su arquitectura es muy diferente a la de otros servidores de correo. Sin embargo, tiene una de las herramientas de registro (logs) más detalladas y potentes del ecosistema Linux. Si sabes qué buscar, Exim te dirá exactamente dónde está el fallo.

Aquí tienes la guía de "trinchera" para diagnosticar y solucionar problemas en Exim, yendo desde el rastreo básico hasta la depuración avanzada.

1. El Oráculo: Entendiendo el mainlog

A diferencia de otros servicios que envían sus errores al syslog general, Exim tiene su propio registro dedicado. Este archivo es tu punto de partida indiscutible.

Bash

# Sigue el log en tiempo real mientras haces pruebas de envío/recepción

sudo tail -f /var/log/exim4/mainlog

El "Idioma" de Exim (Símbolos clave en el log):

Para leer el log rápidamente, busca estos caracteres al lado del ID del mensaje (ej. 1rZXYZ-0001bc-AB):

<= : El mensaje fue aceptado por Exim (entrada).

=> : El mensaje fue entregado con éxito a su destino (salida).

-> : Entrega adicional (por ejemplo, al reenviar a un alias).

== : Entrega aplazada (Problema temporal, Exim lo intentará de nuevo más tarde).

: Error fatal / Rechazo (Problema permanente, el correo no saldrá ni entrará).

2. Herramientas de Diagnóstico Integradas

Antes de tocar la configuración a ciegas, puedes usar los comandos de diagnóstico de Exim para simular cómo tratará un correo sin enviarlo realmente.

A. ¿A dónde enviará Exim este correo? (Test de enrutamiento)

Si el correo no llega, pregúntale a Exim cómo está resolviendo la dirección.

Bash

sudo exim -bt usuario@dominio-destino.com

Si Exim responde que la dirección es "unrouteable", tienes un problema de configuración en tus reglas de envío o problemas de resolución DNS.

B. ¿Hay un error de sintaxis en mi configuración?

Si acabas de editar la configuración y el servicio falla, comprueba la sintaxis:

Bash

sudo exim -bV

3. Resolución de Problemas en la Cola (Queue)

Cuando los correos no salen (por ejemplo, notificaciones generadas por un sistema de tickets local que se quedan atascadas), se acumulan en la cola.

Ver qué hay atascado:

Bash

sudo mailq

# o alternativamente: sudo exim -bp

Leer el log de un correo específico atascado:

Esto te dirá por qué ese mensaje en particular no ha salido.

Bash

sudo exim -Mvl <ID-del-mensaje>

Ver el cuerpo/contenido de un correo atascado:

Útil para saber si es spam generado por un script comprometido o un correo legítimo.

Bash

sudo exim -Mvb <ID-del-mensaje>

4. Tabla de Errores Comunes y Soluciones

Código en Log / SíntomaCausa ProbableSolución
** ... Authentication requiredSi usas un Smarthost externo, Exim no está enviando la contraseña correcta.Revisa la sintaxis en /etc/exim4/passwd.client y asegúrate de que el archivo tenga permisos 640 y pertenezca a root:Debian-exim.
#ERROR!El puerto 25 hacia el exterior está bloqueado.Los proveedores cloud (AWS, Google Cloud, DigitalOcean) bloquean el puerto 25 por defecto. Configura Exim para usar un Smarthost por el puerto 587.
** ... Unrouteable addressExim no sabe cómo llegar a ese dominio o lo considera local por error.Revisa si el dominio de destino está listado erróneamente en dc_other_hostnames (si usas config asistida).
Relay not permittedUn equipo externo está intentando usar tu Exim para enviar correo sin autenticarse.Exim bloquea esto por seguridad. Asegúrate de configurar la autenticación SMTP si vas a permitir clientes remotos.

5. El "Modo Dios": Depuración de Transacciones (ACLs)

Si estás configurando Exim para recibir correos de internet o de aplicaciones externas y los rechaza silenciosamente, puedes simular una transacción SMTP paso a paso para ver en qué momento tus reglas de seguridad (Access Control Lists - ACL) están cortando la conexión.

Bash

# Simula una conexión SMTP desde la IP de un cliente o aplicación (ej. 192.168.1.50)

sudo exim -d -bh 192.168.1.50

(Esto te abrirá una sesión SMTP simulada en la terminal. Escribe EHLO dominio.com, luego MAIL FROM: <...>, etc. La salida será extremadamente verbosa y te dirá exactamente qué línea de tu configuración rechaza o acepta el comando).

Un consejo operativo

Si notas que el sistema está muy lento y ejecutas mailq solo para descubrir que tienes miles de correos congelados (usualmente bounces o spam), puedes limpiar la cola rápidamente con este combo:

Bash

# Eliminar todos los mensajes de la cola

sudo exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | sudo sh

Para darte el enfoque más preciso: ¿El problema que estás experimentando es con correos originados localmente que no logran salir hacia el exterior, o con correos entrantes que Exim está rechazando antes de que puedan ser leídos por servicios locales?

Ads by CJ - Linux Foundation

Share This