3 enero, 2026

Cuando un sistema de correo electrónico comienza a mostrar errores de timeout o desconexiones inesperadas, es común que el problema esté en los tiempos de espera configurados en los distintos componentes: PHP, el servidor web, el servidor IMAP/POP (como Dovecot) y el servidor SMTP (como Postfix). Ajustar estos parámetros y contar con un monitoreo adecuado puede marcar la diferencia entre un servicio inestable y uno confiable.

Ajustes de tiempo en PHP

El intérprete PHP, usado en muchas aplicaciones web de correo, corta procesos si exceden cierto límite. Conviene revisar en el archivo php.ini:

max_execution_time = 120
default_socket_timeout = 120

Esto da más margen a las operaciones de red que involucran conexiones IMAP o SMTP. Después de los cambios, se debe reiniciar PHP-FPM o Apache.

Ajustes en el servidor web

Tanto Apache como Nginx pueden interrumpir peticiones largas. En Apache, se recomienda:

Timeout 120
ProxyTimeout 120

En Nginx, los equivalentes serían:

fastcgi_read_timeout 120s;
proxy_read_timeout 120s;

De esta manera, las sesiones con el backend no se interrumpen prematuramente.

Dovecot (IMAP/POP)

En el caso de Dovecot, los parámetros clave están en /etc/dovecot/conf.d/. Algunos valores útiles son:

ssl_handshake_timeout = 60s
imap_idle_notify_interval = 2 mins
login_process_timeout = 120 secs

Estos evitan que la sesión se cierre demasiado rápido por inactividad o retrasos en el handshake TLS.

Postfix (SMTP)

Postfix maneja tiempos de espera para sesiones entrantes (submission) y salientes. En main.cf se pueden aumentar:

smtpd_timeout = 120s
smtpd_data_done_timeout = 120s
smtpd_starttls_timeout = 120s

Esto protege contra cortes durante el envío de mensajes con archivos adjuntos pesados o redes con latencia.

Monitoreo centralizado

No basta con aumentar tiempos; también hay que vigilar los logs para detectar cuellos de botella:

  • PHP: /var/log/php_errors.log
  • Apache/Nginx: /var/log/apache2/error.log o /var/log/nginx/error.log
  • Dovecot: /var/log/mail.log o journalctl -u dovecot
  • Postfix: /var/log/mail.log o /var/log/maillog

Con herramientas como tail -f, journalctl -f o incluso un dashboard centralizado (ej. Grafana con Loki o ELK) se puede ver en tiempo real si el fallo ocurre en el cliente, el servidor web, IMAP o SMTP.

Conclusión

Cuando aparecen errores de timeout en el correo, el diagnóstico debe considerar cada capa: PHP, servidor web, IMAP/POP y SMTP. Ajustar los parámetros de tiempo y monitorear los registros ayuda a mantener la estabilidad y asegura que los usuarios puedan enviar y recibir correos sin interrupciones.

author avatar
blogdecomputo.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *