SMTP Y DNS

En esta seccion vamos a explicar como hemos consegido montar un servidor DNS y un SMTP usando docker que luego vamos a poder utilizar en nuestros Proyectos

Que necesitamos?

Lo primero y mas importante que necesitamos es alguna forma de poder registrar un dominio EL CUAL PODAMOS ADMINISTRAR Y AÑADIR REGISTROS para poder agregar los REGISTROS necesarios a nuestro DNS

En este caso no quiero recomendar ningun registro/administrador de dominios ya que los que son de pago estan muy bien pero abusan muchisimo de los precios ya que no hay competencia real y los gratuitos los dominios no son para nada profesiones y los que si son profesionales como puede ser los que nos ofrece no-ip no permiten agregar los registros que necesitamos, mejor dicho antiguamente si lo permitian de manera gratuita pero ya no solo en suscripciones pago

Ademas de un domino tambien vamos a necesitar un servidor smtp que es lo que vamos a hostear con docker el cual va a utilizar nuestro dominio dns para dar servicio

La imagen de docker que vamos a utilizar va a ser: mailserver/docker-mailserver

Empezemos

Lo primero vamos a necesitar abrir los siguientes puerto en funcion de lo que queramos En mi caso voy a usar el puerto 25 ya que no quiero tener ningun tipo de cifrado en cualquier caso la forma de hacerlo es la misma

Ahora vamos a crear los siguientes registros en nuestro gestor de dominio

  • MX: mail.example.com (Encargado de indicar el dns)
  • A: 11.22.33.44 (Encargado de informar la ip a la que hacemos referencia)
  • PTR: mail.example.com (Encargado de informar el subdominio al que hacemos referencia)

Por ultimo, vamos a cargar el servidor SMTP con los datos de nuestro DNS. Vamos a clonar todos los archivos necesarios para el servidor

DMS_GITHUB_URL="https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master"
wget "${DMS_GITHUB_URL}/compose.yaml"
wget "${DMS_GITHUB_URL}/mailserver.env"

Y con todos los archivos clonados vamos a editar el compose.yaml donde vamos a agregar nuestro registro MX que hemos creado en nuestro gestor de dns

hostname: mail.example.com

Tambien es recomendable hecharle un vistazo a mailserver.env ya que tiene algunas configuraciones que pueden ser muy utiles

Una vez todo configurado vamos a ejecutarlo con docker compose start y con el comando docker exec -it <CONTAINER NAME> setup help vamos ver todos los comandos entre los cuales podemos crear usuarios entre otras operaciones. Y ya con todo esto habriamos terminado nuestro servido smtp, dejo mas informacion aqui por si queremos hacer mas cosas como instalar cerficiados, crear usuario etc...