🚧Servidor Mail con cloudfare
1. Configurar Cloudflare para Apuntar a tu Servidor
Primero, debes apuntar el dominio a tu servidor Ubuntu.
Obtener la IP de tu servidor
Si usas una IP pública estática, usa esa.
Si estás en una red local, necesitarás configurar port forwarding en tu router o usar una IP pública.
Añadir registros en Cloudflare
En Cloudflare, ve a la sección DNS y agrega los siguientes registros:
TipoNombreValor (IP de tu servidor)Proxy (Cloudflare)A
mail
Tu_IP_Publica
Desactivado (DNS Only)
MX
@
mail.tu-dominio.com (prioridad 10)
N/A
TXT
@
"v=spf1 mx ~all"
N/A
TXT
_dmarc
"v=DMARC1; p=none;"
N/A
TXT
mail._domainkey
Generar DKIM más adelante
N/A
Desactiva el proxy (nube naranja) para el registro A y MX, ya que Cloudflare no proxy servidores de correo.
2. Instalar y Configurar el Servidor de Correo en Ubuntu
Necesitas un software para gestionar el correo. Las opciones más comunes son Postfix (SMTP) y Dovecot (IMAP/POP3).
Instalar Postfix y Dovecot
sudo apt update && sudo apt upgrade -y
sudo apt install postfix dovecot-core dovecot-imapd -y
Configurar Postfix
Edita la configuración principal:
sudo nano /etc/postfix/main.cf
Agrega o modifica estas líneas:
myhostname = mail.tu-dominio.com myorigin = /etc/mailname mydestination = $myhostname, tu-dominio.com, localhost.localdomain, localhost inet_interfaces = all inet_protocols = all home_mailbox = Maildir/
Reinicia Postfix:
sudo systemctl restart postfix
Configurar Dovecot
Edita la configuración:
sudo nano /etc/dovecot/dovecot.conf
Asegúrate de habilitar protocolos IMAP y POP3:
protocols = imap pop3 lmtp
Reinicia Dovecot:
sudo systemctl restart dovecot
3. Configurar Seguridad con SSL (Let's Encrypt)
Para evitar bloqueos por parte de los clientes de correo, necesitas un certificado SSL:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot certonly --standalone -d mail.tu-dominio.com
Después, configura Postfix y Dovecot para usar SSL:
sudo nano /etc/postfix/main.cf
Agrega:
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.tu-dominio.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.tu-dominio.com/privkey.pem
smtpd_tls_security_level=may
Reinicia Postfix:
sudo systemctl restart postfix
Para Dovecot:
sudo nano /etc/dovecot/conf.d/10-ssl.conf
Edita:
ssl_cert = </etc/letsencrypt/live/mail.tu-dominio.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.tu-dominio.com/privkey.pem
Reinicia Dovecot:
sudo systemctl restart dovecot
4. Configurar Registros DNS Adicionales (SPF, DKIM y DMARC)
Para evitar que tus correos sean marcados como SPAM:
SPF (Sender Policy Framework)
En Cloudflare, agrega un registro TXT:
Nombre: @
Valor: "v=spf1 mx ~all"
DKIM (DomainKeys Identified Mail)
Instala OpenDKIM:
sudo apt install opendkim opendkim-tools -y
Configura Postfix para usar OpenDKIM:
sudo nano /etc/postfix/main.cf
Agrega:
milter_protocol = 2 milter_default_action = accept smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891
Reinicia Postfix:
sudo systemctl restart postfix
Generar la clave DKIM:
sudo opendkim-genkey -t -s mail -d tu-dominio.com sudo mv mail.private /etc/opendkim/ sudo mv mail.txt /etc/opendkim/
Agregar el contenido del archivo
mail.txt
como un registro TXT en Cloudflare:Nombre: mail._domainkey Valor: (contenido del archivo mail.txt)
DMARC
En Cloudflare, agrega un registro TXT:
Nombre: _dmarc
Valor: "v=DMARC1; p=none;"
5. Probar y Verificar la Configuración
Verificar SPF, DKIM y DMARC
Usa:
nslookup -type=TXT tu-dominio.com
nslookup -type=TXT mail._domainkey.tu-dominio.com
nslookup -type=TXT _dmarc.tu-dominio.com
También puedes usar herramientas como:
Probar Envío y Recepción de Correos
Para probar envío:
echo "Prueba de correo" | mail -s "Test" usuario@correo.com
Para revisar logs:
sudo tail -f /var/log/mail.log
Asegúrate de abrir los puertos 25, 465, 587 (SMTP) y 993, 995 (IMAP/POP3) en tu firewall y router.
Última actualización