Configurar Postfix en un CT de Proxmox para enviar correos con Mailjet

Configuración de servidor SMTP con Postfix y Mailjet
4 min. Lectura
0 Vistas
0 Valoración

Configurar Postfix en un CT de Proxmox para enviar correos con Mailjet

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

  1. Crear un CT normal desde Debian 12 (recomendado)
  2. Asignarle recursos mínimos:
    • 512 MB RAM
    • 1 vCPU
    • 4 GB disco
  3. En Network, ponerle IP fija (o reservarla en DHCP)
  4. Darle un hostname sencillo: postfix

Configuración inicial

Una vez instalado, entrar vía consola:

pct enter 101

Sustituye 101 por tu ID de CT.

Actualizar el sistema:

apt update && apt upgrade -y

2. Instalar Postfix

Instalar Postfix y las librerías necesarias para SASL:

apt install postfix libsasl2-modules -y

Durante 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.cf

Configurar 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_passwd

Añadir el contenido (reemplaza con tus claves API de Mailjet):

[in-v3.mailjet.com]:587 MJ_API_KEY:MJ_SECRET_KEY

Guardar y proteger el archivo:

chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd

4. Configurar el remitente canónico (root → tu dominio)

Para evitar correos con remitentes como:

  • root@postfix.192.168.1.17
  • pve@mihost.local

Crear regla de reescritura

nano /etc/postfix/sender_canonical

Añadir:

/.+@.*/ postfix@jaumeferre.casa

Generar el hash:

postmap /etc/postfix/sender_canonical

Activar en la configuración principal

Editar /etc/postfix/main.cf y añadir:

sender_canonical_maps = regexp:/etc/postfix/sender_canonical

5. Reiniciar Postfix

Aplicar todos los cambios:

systemctl restart postfix

Verificar el estado:

systemctl status postfix

6. Probar el envío de correos

Enviar correo de prueba

echo "Correo de prueba desde Postfix + Mailjet" | mail -s "Prueba Mailjet" tu@email.com

Ver los logs

tail -f /var/log/mail.log

Cuando 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

  1. Ir a Datacenter → Notifications → SMTP
  2. 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
  3. Enviar correo de prueba

9. Configurar PBS (Proxmox Backup Server)

Configuración en PBS

  1. Ir a Administration → Notifications → SMTP
  2. Usar los mismos parámetros que en Proxmox VE

Solución de problemas

Si aparece el error postfix-local: Invalid input (500):

  1. Borrar configuraciones antiguas
  2. 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

¿Te ha sido útil?

Ayúdame a mejorar con tu puntuación y comentarios.

0.0 (0 votos)
Jaume Ferré

Jaume Ferré

Soy un entusiasta de las nuevas tecnologías, apasionado por explorar su potencial innovador. Colecciono CDs en formato físico y disfruto creando mezclas musicales. Además, la fotografía es otra de mis pasiones, capturando momentos y expresiones con cada disparo. ¡Gracias por leerme!

💬 Comentarios

Los comentarios están gestionados por GitHub Discussions. Necesitas una cuenta de GitHub para participar. ¡Es gratis y rápido!