1,657 22/03/2026 07/04/2026 4 min

La deliverability delle email è un aspetto fondamentale per chi gestisce un server di posta. Una corretta configurazione di SPF, DKIM e DMARC può fare la differenza. In questo articolo, vedremo come automatizzare la gestione di queste configurazioni usando systemd Timer su Linux, rendendo il nostro sistema più robusto ed efficiente.

Prerequisiti

  • Server Linux (Ubuntu 20.04 o superiore)
  • Accesso root o privilegi sudo
  • Postfix o un altro server di posta configurato
  • Conoscenze di base sui record DNS

Step 1: Configurazione dei record SPF

Il primo passo è configurare il record SPF nel DNS del tuo dominio.

bash
# Aggiungi il record SPF al tuo DNS
v=spf1 a mx ip4:YOUR_IP_ADDRESS ~all

Output: Il record SPF sarà visibile nelle impostazioni DNS del tuo dominio.

Perché funziona: Questo record permette ai server di posta di verificare che le email inviate dal tuo server siano autorizzate.

Step 2: Configurazione di DKIM

DKIM aggiunge una firma alle tue email. Iniziamo generando una chiave DKIM.

bash
# Genera le chiavi DKIM
mkdir -p /etc/postfix/dkim
cd /etc/postfix/dkim
opendkim-genkey -s mail -d yourdomain.com
chown opendkim:opendkim mail.private

Output: Due file: mail.private e mail.txt.

Perché funziona: Questi file contengono la chiave privata e le informazioni necessari per configurare DKIM.

Step 3: Aggiungere la chiave DKIM al DNS

Il contenuto di mail.txt deve essere aggiunto al tuo DNS.

bash
# Aggiungi la chiave DKIM al tuo DNS
mail._domainkey.yourdomain.com  IN  TXT  "v=DKIM1; k=rsa; p=YOUR_PUBLIC_KEY"

Output: La chiave DKIM sarà attiva nel DNS.

Perché funziona: OGni email inviata sarà firmata, garantendo la sua autenticità.

Step 4: Configurazione di DMARC

DMARC fornisce istruzioni su come gestire le email non conformi.

bash
# Aggiungi il record DMARC al tuo DNS
_dmarc.yourdomain.com  IN  TXT  "v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com"

Output: Il record DMARC sarà visibile nel DNS.

Perché funziona: Indica ai provider di posta come gestire le email che non rispettano i criteri SPF e DKIM.

Step 5: Automazione con systemd Timer

Ora che abbiamo i record, automatizziamo la verifica e la reconfigurazione.

bash
# Crea lo script di verifica
nano /usr/local/bin/check_mail_records.sh
#!/bin/bash
# Verifica i record SPF, DKIM e DMARC
# Aggiungi i comandi per controllare i record

Rendi eseguibile lo script:

bash
chmod +x /usr/local/bin/check_mail_records.sh

Ora creiamo un'unità systemd:

bash
# Crea il file di unità systemd
nano /etc/systemd/system/check_mail_records.service
[Unit]
Description=Check Mail DNS Records

[Service]
Type=simple
ExecStart=/usr/local/bin/check_mail_records.sh

Imposta il timer:

bash
# Crea il file di timer
nano /etc/systemd/system/check_mail_records.timer
[Unit]
Description=Run Check Mail Records every day

[Timer]
Persistent=true

[Install]
WantedBy=timers.target

Attiva il timer:

bash
systemctl enable check_mail_records.timer
systemctl start check_mail_records.timer

Output: Timer attivo per la verifica quotidiana.

Perché funziona: Automatica la gestione dei record, evitando problemi di deliverability.

Verifica finale

Dopo aver configurato tutto, verifica i record con strumenti come MXToolbox o DNSChecker.

Troubleshooting

Ecco alcuni errori comuni che potresti incontrare:

  1. Errore: SPF record not found
    Cause: Il record SPF non è stato configurato.
    Fix: Verifica e correggi il record DNS.
  2. Errore: DKIM signature verification failed
    Cause: La chiave DKIM non è corretta.
    Fix: Riconfigura DKIM e aggiorna i record DNS.
  3. Errore: DMARC policy not found
    Cause: Il record DMARC non è configurato.
    Fix: Aggiungi il record DMARC nel DNS.

Conclusione

Automatizzare la configurazione di SPF, DKIM e DMARC è fondamentale per migliorare la deliverability delle email. Utilizzando systemd Timer, possiamo garantire una gestione continua e senza sforzi.

Il prossimo passo è monitorare i report DMARC per affinare ulteriormente la configurazione e migliorare la reputazione del tuo dominio.