En este tutorial explico todo el proceso que he seguido para montar un contenedor LXC en Proxmox, instalar Postfix dentro, configurarlo como servidor SMTP relay usando Mailjet, y finalmente usarlo para que tanto Proxmox VE como Proxmox Backup Server (PBS) envíen correctamente sus correos de notificación usando mi propio dominio.
Nota: Sí, suena a lío. Pero una vez montado, funciona perfecto y es mucho más fiable que usar Gmail, Yahoo o cualquier servidor anti-SMTP moderno.
Una vez instalado, entrar vía consola:
pct enter 101Sustituye
101por tu ID de CT.
Actualizar el sistema:
apt update && apt upgrade -yInstalar Postfix y las librerías necesarias para SASL:
apt install postfix libsasl2-modules -yDurante la instalación:
Abrir el archivo de configuración principal:
nano /etc/postfix/main.cfConfigurar con estos parámetros:
myhostname = mail.proxmox.jaumeferre.casa
mydomain = proxmox.jaumeferre.casa
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
inet_interfaces = all
inet_protocols = all
relayhost = [in-v3.mailjet.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_fallback_relay =Crear el archivo de credenciales:
nano /etc/postfix/sasl_passwdAñadir el contenido (reemplaza con tus claves API de Mailjet):
[in-v3.mailjet.com]:587 MJ_API_KEY:MJ_SECRET_KEYGuardar y proteger el archivo:
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwdPara evitar correos con remitentes como:
root@postfix.192.168.1.17pve@mihost.localnano /etc/postfix/sender_canonicalAñadir:
/.+@.*/ postfix@jaumeferre.casaGenerar el hash:
postmap /etc/postfix/sender_canonicalEditar /etc/postfix/main.cf y añadir:
sender_canonical_maps = regexp:/etc/postfix/sender_canonicalAplicar todos los cambios:
systemctl restart postfixVerificar el estado:
systemctl status postfixecho "Correo de prueba desde Postfix + Mailjet" | mail -s "Prueba Mailjet" tu@email.comtail -f /var/log/mail.logCuando veas algo como:
status=sent (250 OK queued...)🎉 ¡Ya funciona!
Mailjet requiere configurar 3 registros DNS para validar tu dominio:
TXT @ v=spf1 include:spf.mailjet.com ~allMailjet te proporcionará algo similar a:
TXT mailjet._domainkey k=rsa; p=XXXXXXXXXXXXA veces Mailjet requiere subir un archivo específico a tu dominio para verificar la propiedad.
Importante: Cuando todo esté correctamente configurado, Mailjet lo mostrará en verde en su panel de control.
192.168.1.17 (IP del CT)25postfix@jaumeferre.casaSi aparece el error postfix-local: Invalid input (500):
Ahora tienes un contenedor LXC dedicado que actúa como un servidor SMTP relay completamente funcional, usando Mailjet, con tu propio dominio y asegurado por SPF/DKIM/DMARC.
Ventajas de esta configuración:
| Comando | Descripción |
|---|---|
apt install postfix libsasl2-modules -y |
Instalar Postfix con SASL |
postmap /etc/postfix/sasl_passwd |
Generar hash de credenciales |
postmap /etc/postfix/sender_canonical |
Generar hash de reescritura |
systemctl restart postfix |
Reiniciar el servicio |
tail -f /var/log/mail.log |
Ver logs en tiempo real |
pct enter 101 |
Acceder al contenedor |