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:
- Errore:
SPF record not found
Cause: Il record SPF non è stato configurato.
Fix: Verifica e correggi il record DNS. - Errore:
DKIM signature verification failed
Cause: La chiave DKIM non è corretta.
Fix: Riconfigura DKIM e aggiorna i record DNS. - 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.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.