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.
1. Crear el contenedor (CT) en Proxmox
Pasos para crear el CT
- Crear un CT normal desde Debian 12 (recomendado)
- Asignarle recursos mínimos:
- 512 MB RAM
- 1 vCPU
- 4 GB disco
- En Network, ponerle IP fija (o reservarla en DHCP)
- Darle un hostname sencillo: postfix
Configuración inicial
Una vez instalado, entrar vía consola:
pct enter 101Sustituye
101por tu ID de CT.
Actualizar el sistema:
apt update && apt upgrade -y2. Instalar Postfix
Instalar Postfix y las librerías necesarias para SASL:
apt install postfix libsasl2-modules -yDurante la instalación:
- Elegir: "Satellite system"
- Cuando pida el relayhost, se puede dejar vacío (lo configuraremos después)
3. Configurar Mailjet como relay SMTP
3.1. Editar `/etc/postfix/main.cf`
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 =3.2. Crear las credenciales de Mailjet
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_passwd4. Configurar el remitente canónico (root → tu dominio)
Para evitar correos con remitentes como:
root@postfix.192.168.1.17pve@mihost.local
Crear regla de reescritura
nano /etc/postfix/sender_canonicalAñadir:
/.+@.*/ postfix@jaumeferre.casaGenerar el hash:
postmap /etc/postfix/sender_canonicalActivar en la configuración principal
Editar /etc/postfix/main.cf y añadir:
sender_canonical_maps = regexp:/etc/postfix/sender_canonical5. Reiniciar Postfix
Aplicar todos los cambios:
systemctl restart postfixVerificar el estado:
systemctl status postfix6. Probar el envío de correos
Enviar correo de prueba
echo "Correo de prueba desde Postfix + Mailjet" | mail -s "Prueba Mailjet" tu@email.comVer los logs
tail -f /var/log/mail.logCuando veas algo como:
status=sent (250 OK queued...)🎉 ¡Ya funciona!
7. Activar SPF, DKIM y DMARC en tu DNS
Mailjet requiere configurar 3 registros DNS para validar tu dominio:
✔ SPF (Sender Policy Framework)
TXT @ v=spf1 include:spf.mailjet.com ~all✔ DKIM (DomainKeys Identified Mail)
Mailjet te proporcionará algo similar a:
TXT mailjet._domainkey k=rsa; p=XXXXXXXXXXXX✔ Verificación del dominio (opcional)
A 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.
8. Configurar Proxmox VE para usar el CT SMTP
Configuración en Proxmox VE
- Ir a Datacenter → Notifications → SMTP
- Configurar:
- SMTP server:
192.168.1.17(IP del CT) - SMTP Port:
25 - From address:
postfix@jaumeferre.casa - TLS: Desactivado (el CT ya se encarga)
- Authentication: Ninguna
- SMTP server:
- Enviar correo de prueba
9. Configurar PBS (Proxmox Backup Server)
Configuración en PBS
- Ir a Administration → Notifications → SMTP
- Usar los mismos parámetros que en Proxmox VE
Solución de problemas
Si aparece el error postfix-local: Invalid input (500):
- Borrar configuraciones antiguas
- Reiniciar el sistema de notificaciones
10. Conclusión
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:
- Proxmox VE y PBS pueden enviar alertas de forma fiable
- Sin problemas con Gmail ni bloqueos de puertos
- Control total sobre el remitente y dominio
- Solución barata, ligera y que funciona de maravilla
Resumen de comandos
| 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 |