Entre los diferentes tipos de correos que podemos configurar tenemos POP3, IMAP, SMTP, como vemos cubrimos prácticamente todas las opciones más populares del mercado.
Servicio Proxy Básico
En el inicio, el modulo mail de Nginx fue pensado y desarrollado para el uso de FastMail, proporcionando de un punto de conexión a IMAP para los usuarios, de esta forma se hospeda la cuenta de mail actual en un numero de servidores.
Nginx al ser basado en eventos nos permite dirigir el tráfico entrante a cualquier número de servidores donde la cuenta pueda estar hospedada, dándonos así la habilidad de comunicar un solo punto final con el cliente, mientras se escala el número de servidores con el número de usuarios.
Veamos un diagrama para que podamos entender este funcionamiento de forma gráfica:
Como vemos Nginx recibe las diferentes peticiones desde internet y dependiendo de su destino las redirige a los servidores POP3/IMAP correspondientes e inclusive puede dirigir a un SMTP y que este responda directamente, si nos fijamos en el diagrama la parte de HTTP significa que también podemos gestionar la autenticación vía web, añadiendo un nivel adicional de seguridad y funcionalidades.
El Servicio POP3
El servicio POP3 corresponde al Post Office Protocol o protocolo de oficina de correos, es un estándar que se utiliza en Internet para obtener mensajes de un buzón en un servidor de correos web. El número 3 corresponde a que esta es la 3ra versión del protocolo.
Usualmente un cliente de mail se conecta y obtiene todos los correos en una sesión y luego cierra la conexión, al hacer esto POP3 borra todos los correos que han sido marcados como entregados o descargados, liberando así el espacio en el servidor.
Veamos en la siguiente imagen una configuración básica estándar para este protocolo en un servidor Nginx:
Aquí vemos que le delegamos la parte de autenticación al puerto 9000 de la máquina donde tenemos a Nginx, luego en la sección server definimos el puerto de escucha al 110 e indicamos el protocolo pop3, por último le decimos que su comportamiento será de proxy.