Este es el comienzo de un gran curso sobre el funcionamiento de servidores de correo. No tengo la intención de enseñar rápidamente a alguien a trabajar con servidores de correo. Habrá mucha información adicional relacionada con las preguntas que encontrarán en el camino, porque trato de hacer el curso principalmente para aquellos que están dando sus primeros pasos.

PrólogoHe estado trabajando como profesor de administración de Linux. Como tarea para casa, les doy a mis estudiantes una docena de enlaces a diversos recursos, ya que en algunos lugares la información es insuficiente o demasiado compleja. Además, el mismo material a menudo se repite en diferentes recursos, y a veces se difiere. También, la mayoría del contenido está en inglés, y hay estudiantes que tienen dificultades para entender. Hay cursos maravillosos de Semaev y Lebedev, y quizás de otros, pero, en mi opinión, algunos temas no están suficientemente tratados, y otros no están lo suficientemente relacionados con otros.
Por lo tanto, un día decidí resumir el material y presentárselo a mis estudiantes de una manera conveniente. Pero ya que estoy en esto, ¿por qué no compartirlo con todos? Al principio traté de hacerlo mediante texto y complementarlo con enlaces, pero hay millones de tales recursos, ¿y de qué sirve? A veces faltaba claridad y explicaciones, y a veces los estudiantes no se molestan en leer todo el texto (y no solo ellos), lo que resulta en lagunas en el conocimiento.
Pero no se trata solo de los estudiantes. Durante toda mi carrera he trabajado en integradores de TI, y eso me ha dado una enorme experiencia trabajando con diversos sistemas. Al final, me convertí en un ingeniero multidisciplinario. A menudo tengo que enfrentar a informáticos en diversas empresas y con bastante frecuencia noto lagunas en su conocimiento. En el ámbito de TI, muchos son autodidactas, incluyéndome a mí. Y tengo suficientes de estas lagunas, y me gustaría ayudar a otros y a mí mismo a eliminarlas.
A mi parecer, los pequeños videos con información son más interesantes y fáciles de digerir, así que decidí probar este formato. Y sé perfectamente que no tengo una buena dicción, y que es difícil escucharme, pero trato de mejorar. Para mí, es un nuevo pasatiempo que quiero desarrollar. Antes tenía un micrófono de peor calidad, ahora básicamente estoy resolviendo problemas de sonido y dicción. Quiero crear contenido de calidad y realmente necesito críticas y consejos objetivos.
P.D. Algunos han considerado que el formato de video no es del todo adecuado y que es mejor hacerlo en texto. No estoy completamente de acuerdo, pero que haya una opción: como video o texto.
Vídeo

Siguiente >
Para poder trabajar con el correo electrónico, necesitas un cliente de correo. Esto puede ser un cliente web, como Gmail, OWA, Roundcube, o una aplicación en tu computadora: Outlook, Thunderbird, etc. Supongamos que ya te has registrado en algún servicio de correo y necesitas configurar el cliente de correo. Abres el programa y te pide datos: nombre para la cuenta, tu dirección de correo electrónico y tu contraseña.

Después de introducir estos datos, tu cliente de correo intentará encontrar información sobre tu servidor de correo. Esto se hace para facilitar la configuración de la conexión al servidor, ya que la mayoría de los usuarios no conocen las direcciones y protocolos de conexión. Para ello, los clientes de correo utilizan diferentes métodos para buscar información sobre el servidor y la configuración de conexión. Estos métodos pueden variar según el cliente de correo.

Por ejemplo, Outlook utiliza el método 'autodiscover', el cliente consulta al servidor DNS y pregunta por un registro autodiscover específico relacionado con el dominio de correo que proporcionaste en la configuración de tu cliente de correo. Si el administrador ha configurado ese registro en el servidor DNS, apunta a un servidor web.

Una vez que el cliente de correo conoce la dirección del servidor web, se dirige a él y encuentra un archivo preconfigurado con la configuración de conexión al servidor de correo en formato XML.

En el caso de Thunderbird, el cliente de correo prescinde de la búsqueda del registro DNS autodiscover y trata de conectarse directamente al servidor web autoconfig y al nombre del dominio especificado. También intenta encontrar un archivo de configuración de conexión en formato XML en el servidor web.

Si el cliente de correo no encuentra el archivo con la configuración necesaria, intentará adivinar la configuración entre las más utilizadas. Por ejemplo, si el dominio se llama example.com, el servidor de correo comprobará si existen servidores con los nombres imap.example.com y smtp.example.com. Si los encuentra, los registrará en la configuración. Si el cliente de correo no puede determinar de ninguna manera la dirección del servidor de correo, te propondrá que introduzcas los datos de conexión manualmente.

Entonces verás 2 campos para servidores — dirección del servidor de correo entrante y dirección del servidor de correo saliente. Por lo general, en pequeñas organizaciones estas direcciones coinciden, aunque estén indicadas a través de diferentes nombres DNS, mientras que en grandes empresas pueden ser servidores diferentes. Pero no importa si es el mismo servidor o no, los servicios detrás de ellos son distintos. Una de las combinaciones de servicios de correo más populares es Postfix & Dovecot. Donde Postfix actúa como servidor de correo saliente (MTA — agente de transferencia de correo), y Dovecot como servidor de correo entrante (MDA — agente de entrega de correo). Como se puede deducir por el nombre, Postfix se utiliza para enviar correo, y Dovecot para recibir correo por parte del cliente de correo. Los propios servidores de correo se comunican entre sí mediante el protocolo SMTP, es decir, Dovecot (MDA) es necesario para los usuarios.

Supongamos que hemos configurado la conexión a nuestro servidor de correo. Ahora intentemos enviar un mensaje. En el mensaje indicamos nuestra dirección y la dirección del destinatario. Ahora, para entregar el mensaje, tu cliente de correo enviará el mensaje a tu servidor de correo saliente.

Cuando tu servidor reciba el mensaje, intentará averiguar a quién debe entregar este mensaje. Tu servidor no puede saber de memoria las direcciones de todos los servidores de correo, por lo que consulta al DNS para encontrar un registro MX especial que indica el servidor de correo para este dominio. Estos registros pueden diferir para diferentes subdominios.

Después de que averigüe la dirección del servidor del destinatario, envía tu mensaje por SMTP a esa dirección, donde el servidor de correo (MTA) del destinatario aceptará el mensaje y lo colocará en un directorio especial, que también revisa el servicio encargado de recibir los mensajes para los clientes (MDA).

La próxima vez que el cliente de correo del destinatario pregunte al servidor de correo entrante sobre la existencia de nuevos mensajes, el MDA le enviará tu mensaje.
Pero dado que los servidores de correo operan en Internet y cualquiera puede conectarse a ellos y enviar mensajes, y dado que los servidores de correo son ampliamente utilizados por diversas empresas para intercambiar datos importantes, esto es un objetivo atractivo para los atacantes, especialmente para los spammers. Por lo tanto, en los servidores de correo modernos hay muchas medidas adicionales para verificar al remitente, comprobaciones de spam, etc. Y muchos de estos temas intentaré abordar en las siguientes partes.
Fuente: habr.com
