En aquesta pàgina
4 min de lectura

Dia 11 - KM0 Mail en producció

Correu @km0digital.com amb Postfix, Dovecot, Rspamd i Roundcube a mail.km0digital.com; DNS MX/SPF/DKIM/DMARC, relay OpenCloud i plans de fase 1b.

Introducció

El dia 9 va tancar preus, legal, registre OpenCloud i conversió. No vam publicar entrada del dia 10 (desplegament intern de correu sense article). El 14 de juny de 2026 vam activar KM0 Mail: bústies @km0digital.com, webmail a mail.km0digital.com i relay SMTP per a notificacions d'OpenCloud.

KM0 deixa de dependre de Gmail o APIs externes per al correu operatiu del domini i obre la porta a verificació de registre, avisos d'idees i màrqueting sobre la mateixa infraestructura.

Resum

Fites del dia

  • Stack: repo AMVARA-CONSULTING/km0-mail amb Postfix, Dovecot, Rspamd, Roundcube i PostgreSQL (Docker Compose).
  • Hostname: mail.km0digital.com al mateix VPS que OpenCloud (116.202.10.106).
  • Webmail: Nginx + Let's Encrypt cap a Roundcube en loopback :8080.
  • Operació: bústies postmaster@ i noreply@; CLI ./scripts/km0-mail-admin.
  • Seguretat: Rspamd + signatura DKIM; fail2ban jail km0-mail; UFW 25, 587, 993.
  • OpenCloud: relay local Postfix (host.docker.internal:587, sense auth) amb remitent noreply@km0digital.com.

KM0 Mail

Arquitectura i flux

Internet (MX @ → mail.km0digital.com)
        ↓
  Postfix (:25 / :587 submission)
        ↓
  Rspamd (anti-spam, DKIM signing)
        ↓
  Dovecot (:993 IMAPS) → Maildir
        ↓
  Roundcube (webmail, loopback :8080 → Nginx TLS)
  • Recepció: Postfix accepta correu entrant per a @km0digital.com i el lliura a Maildir via Dovecot LMTP.
  • Enviament: clients autenticats (587) i relay intern des d'OpenCloud sense credencials a la xarxa Docker.
  • Webmail: Roundcube consulta Dovecot; accés públic només per HTTPS al subdomini mail.
  • Admin: km0-mail-admin create-mailbox, alias, set-password documentats al runbook de km0-mail.
  • Issue de referència: km0-mail #1 (Redmine #7605).

DNS

Lliurabilitat

Sense registres correctes el correu acaba a spam o rebota. La checklist completa està a docs/joker-dns-checklist.md del repo km0-mail.

  • MX: @mail.km0digital.com.
  • SPF: registre TXT que autoritza el servidor d'enviament KM0.
  • DKIM: selector mail._domainkey amb clau pública al DNS.
  • DMARC: política p=none amb informes a postmaster@km0digital.com.
  • PTR: Hetzner apunta a mail.km0digital.com (coherent amb HELO/EHLO).

OpenCloud

Integració fase 1 (parcial)

OpenCloud (notificacions)
        ↓
  host.docker.internal:587 (Postfix relay, sense auth)
        ↓
  Postfix → Rspamd → sortida Internet
  Remitent: noreply@km0digital.com
  • km0-opencloud: variables SMTP_* a .env i extra_hosts al compose per arribar a Postfix de l'host.
  • Abast: les notificacions del cloud ja surten per KM0 Mail; el registre amb verificació per email segueix pendent (fase 1b).
  • LDAP: sense unificació a la fase 1; columna mail_accounts.opencloud_uuid reservada per al futur.

Producte

Decisions del dia

  • Preu: correu inclòs de fet a l'oferta KM0; decisió executiva de tarifa després.
  • Escala: objectiu >1000 bústies abans de final d'any.
  • Legal: pàgines /legal/ i /security/ encara no cobreixen mail.km0digital.com (issue separat).
  • Serveis: targeta Email a la home segueix deshabilitada fins a fase 1b (issue separat).

Roadmap

Pendent fase 1b

El següent està planificat però encara no implementat en aquesta entrega:

  1. register-api: verificació d'email via Postfix local (substituir Gmail/extern).
  2. km0-web scripts/notify-idea-email.sh: relay local (avui AutoMail API).
  3. Marketing / tmp: SMTP local per a campanyes i entorns temporals.
  4. Legal i seguretat a km0-web: cobrir mail.km0digital.com.
  5. Bloc Email a serveis: habilitar targeta activa a la landing.
  6. Còpia de seguretat: cron maildir documentat al runbook.
  7. Fase 2: ClamAV, unificació LDAP, provisioning automatitzat.

Verificació

Comprovar el dia 11

  1. Webmail: obrir mail.km0digital.com i comprovar certificat TLS.
  2. MX: dig +short MX km0digital.com ha de resoldre a mail.km0digital.com.
  3. SPF: dig +short TXT km0digital.com inclou registre SPF.
  4. DKIM: dig +short TXT mail._domainkey.km0digital.com retorna clau pública.
  5. DMARC: dig +short TXT _dmarc.km0digital.com mostra política i informes.
  6. PTR: dig +short -x 116.202.10.106 coincideix amb el hostname del servidor mail.
  7. Checklist: seguir joker-dns-checklist.md punt per punt.
  8. OpenCloud: disparar notificació de prova i verificar remitent noreply@km0digital.com.

Sèrie

Entrada següent

El dia 12 recull la xerrada amb client sobre UX; el dia 13 el meet 6: visibilitat, associacions (AMPAs, veïns) i propers passos comercials. Mentrestant, prova el webmail o consulta preus. Dubtes: contacte.