Configuración del servidor de correos para permitir el uso de clientes externos

Índice

En este post se abordan algunos de los pasos que hay que seguir para configurar un servidor de correo para que se pueda usar con clientes externos.

Configuración del buzón de tipo maildir

Para poder usar un cliente de correo externo, es necesario configura en el servidor un buzón de tipo maildir en lugar del de tipo mailbox, por defecto. Esto se hace modificando las siguientes líneas del fichero de configuración /etc/postfix/main.cf:

home_mailbox = Maildir/
mailbox_command =

Configuración de IMAP para recibir correo en el cliente externo

Para configurar el protocolo IMAP en el servidor de correo se usa el programa dovecot.

sudo apt install dovecot-imapd

Esta herramienta usa varios ficheros de configuración diferentes.

En /etc/dovecot/conf.d/10-ssl.conf se configura el tipo de conexiones que se soportan y/o permiten. En este caso, el parámetro ssl se pone a required para permitir sólo conexiones por SSL. Además, en este fichero se apunta a la ruta del certificado y la clave privada del servidor.

ssl = required
ssl_cert = /etc/letsencrypt/live/javihuete.site/fullchain.pem
ssl_key = /etc/letsencrypt/live/javihuete.site/privkey.pem

La autentificación se configura en el fichero /etc/dovecot/conf.d/10-auth.conf. Por defecto, la línea !include auth-system.conf.ext indica que para la autentificación se usan los usuarios del sistema.

En el fichero /etc/dovecot/conf.d/10-mail.conf se configuran los buzones. Aquí hay que indicar la ubicación del directorio de buzones:

mail_location = maildir:~/Maildir

Además, en el fichero /etc/dovecot/conf.d/15-mailboxes.conf se puede añadir la línea auto = subscribe en cada buzón para indicar a los clientes que se deben suscribir a ellos.

  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }

  # For \Sent mailboxes there are two widely used names. We'll mark both of
  # them as \Sent. User typically deletes one of them if duplicates are created.
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = subscribe
    special_use = \Sent
  }

Por último, en el DNS se incluye un registro de tipo CNAME para que redirija a los clientes que usen el nombre del servicio imap a la dirección IP de la máquina en la que este servicio se aloja.

Configuración de ESMTP para enviar correo desde el cliente externo

Para indicar a postfix que use dovecot para autentificar a los clientes a través de SASL se establece la configuración necesaria en el fichero /etc/postfix/main.cf del servidor de correos.

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

Por otra parte, en el apartado service auth del fichero de configuración de dovecot /etc/dovecot/conf.d/10-master.conf se descomentan las líneas que habilitan la comunicación entre este programa y postfix a través de un socket unix.

  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }

Para hacer que postfix escuche por el puerto por defecto para el protocolo ESMTP, el 587, se debe habilitar la línea que lo indica en el fichero /etc/postfix/master.cf. En él se descomenta la siguiente línea:

submission inet n       -       y       -       -       smtpd

También en el DNS se incluye un registro de tipo CNAME para que redirija a los clientes que usen el nombre del servicio smtp a la dirección IP de la máquina en la que se está ejecutando este servicio.

Por último, para permitir conexiones remotas al servidor de correos, hay que modificar el valor del parámetro mynetworks.

mynetworks = 0.0.0.0

Relacionados

Creación de política de grupo en Windows Active Directory

Una directiva de grupo es un conjunto de reglas que controlan el entorno de trabajo de cuentas de usuario y cuentas de equipo. La directiva de grupo permite gestionar y configurar de forma centralizada sistemas operativos, aplicaciones y configuración de los usuarios en un entorno de Directorio Activo.

Leer

Configuración de un proxy inverso en Apache2

A través de un caso práctica se muestran diferentes ejemplos de configuración de un proxy inverso usando Apache2.

Leer

Configuración del protocolo HTTPS para el acceso a una aplicación web

Para usar HTTPS en una aplicación web es necesario configurar el protocolo HTTPS en el servidor web en el que se aloja. En este post se recoge una breve guía con los pasos a seguir.

Leer