En este tutorial se mostrará cómo alojar varios dominios de correo electrónico (alojamiento virtual) con iRedMail.
Damos por hecho que ya tienen configurados los registros SPF DMARC Y DKIM, ya que los correos se estarían firmando con los registros del dominio principal.
Mi proveedor de DNS no me permite registros DKIM de 2048 bits por lo que he tenido que configurarlo a 1024 bits, les dejo como generar la llave por si les sucede igual que a mí.
Configuración de la firma DKIM
Generamos la clave privada para el dominio principal:
amavisd-new genrsa /var/lib/dkim/mail.tu-dominio.com.pem 1024 chown amavis:amavis /var/lib/dkim/mail.tu-dominio.com.pem chmod 0400 /var/lib/dkim/mail.tu-dominio.com.pem
Reiniciamos amavis:
systemctl restart amavis
Podemos ver la nueva firma:
amavisd-new showkeys
Luego necesitamos añadirla en los registros de nuestro proveedor de DNS. Una vez añadida podemos comprobarla de la siguiente manera
dig TXT dkim._domainkey.mail.tu-dominio.com
Ahora puede ejecutar el siguiente comando para comprobar si su registro DNS DKIM es correcto.
amavisd-new testkeys
Tenga en cuenta que su registro DKIM puede necesitar algún tiempo para propagarse a Internet. Dependiendo del registrador de dominios que utilice, su registro DNS puede propagarse instantáneamente o puede tardar hasta 24 horas en hacerlo.
Crear en iredadmin el nuevo dominio.

Luego de dar clic en Add domain, escribimos el nuevo dominio

Una vez añadido podemos pasar a la configuración de Nginx
Configuración de nginx con ssl para múltiples dominios
Cambiamos al directorio /etc/nginx/
cd /etc/nginx/
Crea un archivo de bloque de servidor en blanco para este nuevo dominio en el directorio /etc/nginx/sites-enabled/
touch sites-enabled/mail.tu-dominio2.com.conf
Copiamos las configuraciones del sitio HTTP por defecto en el archivo.
cat sites-enabled/00-default.conf | tee -a sites-enabled/mail.tu-dominio2.com.conf
Copiamos las configuraciones del sitio SSL por defecto en el archivo.
cat sites-enabled/00-default-ssl.conf | tee -a sites-enabled/mail.tu-dominio2.com.conf
Editar el archivo de host virtual.
nano sites-enabled/mail.tu-dominio2.com.conf
Buscamos las siguientes líneas. server_name _; y le añadimos el nombre_del_servidor a mail.tu-dominio2.com, porque más tarde necesitamos usar Certbot para generar un nuevo certificado ssl.
server_name mail.tu-dominio2.com;
Hay 2 instancias de server_name, necesitas cambiar ambas. Guardamos y cerramos el archivo. Luego verificamos la configuración de Nginx.
nginx -t
Si la prueba es exitosa, recarga Nginx para que los cambios surtan efecto.
systemctl reload nginx
Vamos a emplear Certbot webroot para obtener el certificado TLS para todos los dominios de correo, así tendremos un único certificado TLS con múltiples nombres de dominio en él y los clientes de correo no lanzarán advertencias de seguridad.
He creado en /var/www/html un nuevo directorio con el nombre del dominio2
certbot certonly --webroot --agree-tos -d mail.tu-dominio1.com,mail.tu-dominio2.com --cert-name mail.tu-dominio1.com --email your-email-address -w /var/www/html/mail.tu-dominio2.com
En el comando anterior, hemos especificado el nombre del certificado utilizando el primer dominio de correo, que se utilizará en la ruta del archivo, por lo que no tienes que cambiar la ruta del archivo en el archivo de configuración de Postfix o Dovecot.
Una vez obtenido el certificado TLS, recargue Nginx para que recoja el nuevo certificado.
systemctl reload nginx
Y listo, ya con esto deberías poder acceder a tus dos dominios.
¡Que tengas un excelente día!