User Tools

Site Tools


linuxdebian:exim4-dovecot

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linuxdebian:exim4-dovecot [2025/09/28 16:35] – [Nuovo in Debian 12 - Controllo SPF ed eventuale rifiuto] kurganlinuxdebian:exim4-dovecot [2025/09/28 17:50] (current) – [Autoreply] kurgan
Line 127: Line 127:
 ===== Configurazione di Exim ===== ===== Configurazione di Exim =====
  
-Prima di tutto, occorre fare alcune operazioni a livello di file system+Il file exim4.conf lo trovate qui allegato. Salvatelo come ''/etc/exim4/exim4.conf'' e guardateci dentro, ci sono tanti parametri da aggiustare per le vostre esigenze. 
-  * Creare la directory /var/vmail che conterra` la mail degli utenti dei domini virtuali e poi darle permessi 770 e assegnarla all'utente mail gruppo mail. + 
-<code>+  * Per Debian 11 e Devuan Chimaera (versione 4.94 di Exim) {{ :linuxdebian:exim4-dovecot:exim4.conf.v494.txt }} 
 +  * Per Debian 12 e 13  (versione 4.96 e 4.98 di Exim) {{ :linuxdebian:exim4-dovecot:exim4.conf.v496.txt }} 
 + 
 +Oltre a usare la configurazione allegata occorre fare una serie di altre operazioni: 
 + 
 +  * Creare la directory /var/vmail che conterra` la mail degli utenti dei domini virtuali e poi darle permessi 770 e assegnarla all'utente mail gruppo mail.<code ->
 mkdir /var/vmail mkdir /var/vmail
 chown mail:mail /var/vmail chown mail:mail /var/vmail
Line 135: Line 140:
 </code> </code>
  
-  * Creare la directory /etc/vmail e le sottodirectory che conterranno tutte le configurazioni dei domini virtuali. Creare il file /etc/vmail/domain_aliases,  vuoto, per evitare di avere errori. Questo file potra` poi essere usato o meno, a seconda delle necessita`. Il suo uso e` spiegato piu` avanti. +  * Creare la directory /etc/vmail e le sottodirectory che conterranno tutte le configurazioni dei domini virtuali. Creare il file /etc/vmail/domain_aliases,  vuoto, per evitare di avere errori. Questo file potra` poi essere usato o meno, a seconda delle necessita`. Il suo uso e` spiegato piu` avanti.<code ->
-<code>+
 mkdir /etc/vmail mkdir /etc/vmail
 mkdir /etc/vmail/users mkdir /etc/vmail/users
Line 147: Line 151:
   * Tutti i files dentro /etc/vmail dovranno essere leggibili (e non scrivibili) dal gruppo "Debian-exim" (con la maiuscola!) che e` il gruppo con cui di  default gira Exim4 in Debian. I files che contengono le password devono essere NON LEGGIBILI da tutti. Il consiglio e` quello di fare un ''chown root:Debian-exim'' e poi un ''chmod 640'' dei files.   * Tutti i files dentro /etc/vmail dovranno essere leggibili (e non scrivibili) dal gruppo "Debian-exim" (con la maiuscola!) che e` il gruppo con cui di  default gira Exim4 in Debian. I files che contengono le password devono essere NON LEGGIBILI da tutti. Il consiglio e` quello di fare un ''chown root:Debian-exim'' e poi un ''chmod 640'' dei files.
  
-  * Facoltativamente, puliamo /etc/exim4 dalle porcherie del compilatore di config di Debian (che non usiamo) e teniamo tutto da una parte. Se non lo faccio non cambia nulla, Exim userà la config che abbiamo fatto noi ''/etc/exim4.conf'' e ignorerà quella autogenerata. NOTA: se riavviamo Exim per qualsiasi motivo prima di avere creato il file di config nostro e dopo aver eliminato i files nativi debian, systemd si incazza.<code>+  * Facoltativamente, puliamo /etc/exim4 dalle porcherie del compilatore di config di Debian (che non usiamo) e teniamo tutto da una parte. Se non lo faccio non cambia nulla, Exim userà la config che abbiamo fatto noi ''/etc/exim4.conf'' e ignorerà quella autogenerata. NOTA: se riavviamo Exim per qualsiasi motivo prima di avere creato il file di config nostro e dopo aver eliminato i files nativi debian, systemd si incazza.<code ->
 mkdir /etc/exim4/old mkdir /etc/exim4/old
 mv /etc/exim4/* /etc/exim4/old/ mv /etc/exim4/* /etc/exim4/old/
 </code> </code>
  
-  * Creiamo una directory per le chiavi dkim, che e` bene che ci sia anche se non vogliamo usarla. (Io la uso comunque, senza DKIM oramai non mandi la mail a nessuno dei big)<code>+  * Creiamo una directory per le chiavi dkim, che e` bene che ci sia anche se non vogliamo usarla. (Io la uso comunque, senza DKIM oramai non mandi la mail a nessuno dei big)<code ->
 mkdir /etc/exim4/dkim mkdir /etc/exim4/dkim
 </code> </code>
  
- +  * Creiamo e poi rendiamo eseguibile lo script che invia email di allarme in caso di superamento del rate limit. Questo script va salvato come ''/etc/exim4/ratelimitalert.sh'' <code bash ratelimit.sh>
-Occorre creare lo script che invia email di allarme in caso di superamento del rate limit. Questo script, che si chiama ''/etc/exim4/ratelimitalert.sh'' deve essere eseguibile, e contiene quanto segue:<code>+
 #!/bin/bash #!/bin/bash
 # script per inviare email in caso di allarme # script per inviare email in caso di allarme
Line 206: Line 209:
 </code> </code>
  
 +È opportuno usare dei retry molto frequenti per velocizzare l'invio di email a destinatari che usino la greylist. Questo pero` richiede che Exim esegua il run della coda piu` spesso dei 30 minuti standard in Debian. Per ridurre questo tempo, occorre  modificare il file ''/etc/default/exim4''.
  
-Il file exim4.conf lo devo allegare perche` contiene una serie di parentesi graffe che mandano in crisi il renderer del markup language del wiki. +  Per Debian 12, modificando il valore ''QUEUEINTERVAL'', cosi`:<code ->
-  Lo trovate qui per Debian 11 e Devuan Chimaera (versione 4.94 di Exim) {{ :linuxdebian:exim4-dovecot:exim4.conf.v494.txt |}} +
-  * Lo trovate qui per Debian 12 e Devuan Daedalus (versione 4.96 di Exim) {{ :linuxdebian:exim4-dovecot:exim4.conf.v496.txt |}} +
- +
- +
-Nella configurazione allegata uso dei retry molto frequenti per velocizzare l'invio di email a destinatari che usino la greylist. Questo pero` richiede che Exim esegua il run della coda piu` spesso dei 30 minuti standard in Debian. Per ridurre questo tempooccorre  modificare il file ''/etc/default/exim4'' modificando il valore ''QUEUEINTERVAL'', cosi`: +
-<code>+
 # how often should we run the queue # how often should we run the queue
 QUEUEINTERVAL='5m' QUEUEINTERVAL='5m'
 +</code>
 +  * Per Debian 13, modificando il parametro ''EXIMSERVICE'' cosi`:<code ->
 +EXIMSERVICE='-bdf -q5m'
 </code> </code>
  
  
 +==== NOTE su Exim: ====
  
-==== NOTE su Exim: ==== 
   * Le scansioni antivirus e antispam NON vengono fatte per gli utenti veri (quelli in /etc/passwd) della macchina. L'idea e` che questo sistema nasce per servire la mail solo agli utenti virtuali.   * Le scansioni antivirus e antispam NON vengono fatte per gli utenti veri (quelli in /etc/passwd) della macchina. L'idea e` che questo sistema nasce per servire la mail solo agli utenti virtuali.
-  * per fare testsono comodi i seguenti comandi: +  * Per fare test sono comodi i seguenti comandi: 
-  || ''exim4 -bP'' || Dump nella configurazione che Exim ha in memoria, compresi i valori di default |+ 
-  || ''exim4 -bs -d'' || Sessione smtp "in console" con debug molto dettagliato |+| ''exim4 -bP'' | Dump nella configurazione che Exim ha in memoria, compresi i valori di default | 
-  || ''exim4 -be -d+expand 'espressione''' || per testare una espressione (espansioni di variabili, if, e quant'altro). Notare gli apici singoli intorno all'espressione, fondamentali |+| ''exim4 -bs -d'' | Sessione smtp "in console" con debug molto dettagliato | 
-  || ''exim -bt <email address>'' || Per testare i le regole di routing delle mail. Exim finge di mandare una mail a quell'indirizzo e ci mostra con che router e trasporto la manderebbe (sia locale che remoto) |+| ''exim4 -be -d+expand 'espressione''' | per testare una espressione (espansioni di variabili, if, e quant'altro). Notare gli apici singoli intorno all'espressione, fondamentali | 
-  || ''exim4 -bh <indirizzo ip>.<porta> -d'' || Esegue una sessione smpt in console fingendo che sia provienente dall'indirizzo ip e porta indicati. ||+| ''exim -bt <email address>'' | Per testare i le regole di routing delle mail. Exim finge di mandare una mail a quell'indirizzo e ci mostra con che router e trasporto la manderebbe (sia locale che remoto) | 
 +| ''exim4 -bh <indirizzo ip>.<porta> -d'' | Esegue una sessione smpt in console fingendo che sia provienente dall'indirizzo ip e porta indicati. |
  
  
Line 239: Line 241:
   * Editare il file ''/etc/default/spamd'' ed impostare ENABLED=1 (in Debian 11, e` ''/etc/default/spamassassin'')   * Editare il file ''/etc/default/spamd'' ed impostare ENABLED=1 (in Debian 11, e` ''/etc/default/spamassassin'')
   * Debian 11: Volendo, in fondo, mettere CRON=1 per ricevere aggiornamenti alle regole di spamassassin (nota: questa opzione funziona ancora anche in debian 12, anche se in Debian 12 c'e` un timer in systemd che possiamo usare al posto di questa configurazione)   * Debian 11: Volendo, in fondo, mettere CRON=1 per ricevere aggiornamenti alle regole di spamassassin (nota: questa opzione funziona ancora anche in debian 12, anche se in Debian 12 c'e` un timer in systemd che possiamo usare al posto di questa configurazione)
-  * Debian 12: volendo possiamo usare il comando ''systemctl enable --now spamassassin-maintenance.timer'' invece di usare CRON=1 come indicato nella riga precedente. +  * Debian 12 e 13: volendo possiamo usare il comando ''systemctl enable --now spamassassin-maintenance.timer'' invece di usare CRON=1 come indicato nella riga precedente. 
-  * Se si vuole usare spamd attraverso un socket e non attraverso una connessione tcp a localhost, e` possibile farlo modificando ''/etc/default/spamassassin'' in modo da aggiungere alle opzioni quella per usare il socket (socketpath=xxx). In questo modo la riga OPTIONS diventa: +  * Se si vuole usare spamd attraverso un socket e non attraverso una connessione tcp a localhost, e` possibile farlo modificando ''/etc/default/spamassassin'' in modo da aggiungere alle opzioni quella per usare il socket (socketpath=xxx). In questo modo la riga OPTIONS diventa:<code>
-<code>+
 OPTIONS="--create-prefs --max-children 5 --helper-home-dir --socketpath=/var/run/spamd.ctl" OPTIONS="--create-prefs --max-children 5 --helper-home-dir --socketpath=/var/run/spamd.ctl"
 </code> </code>
Line 260: Line 261:
 </code> </code>
  
-  * Debian 11: Eseguire ''/etc/init.d/spamassassin start'' per avviare il demone spamd (ovviamente al reboot partira` da solo) +  * Eseguire ''systemctl restart spamd'' per riavviare spamassassin
-  * Debian 12: Eseguire ''systemctl restart spamd''+
  
 In questo setup, spamassassin (in realta` il demone spamd) viene sempre chiamato dall'utente "mail", quindi per qualsiasi utente di qualsiasi dominio il database bayesiano sara` sempre lo stesso, e si trovera` nella home dell'utente mail sotto una directory con nome ".spamassassin". In questo setup, spamassassin (in realta` il demone spamd) viene sempre chiamato dall'utente "mail", quindi per qualsiasi utente di qualsiasi dominio il database bayesiano sara` sempre lo stesso, e si trovera` nella home dell'utente mail sotto una directory con nome ".spamassassin".
Line 431: Line 431:
 ===== Autoreply ===== ===== Autoreply =====
  
-**Nota: questa soluzione, seppure funzionante, e` resa obsoleta dall'uso di filtri Sieve con Dovecot. (Vedasi [[Dovecot-Sieve]])**+**Nota: questa soluzione, seppure funzionante, e` resa obsoleta dall'uso di filtri Sieve con Dovecot.**
  
 E` possibile attivare un risponditore automatico in stile "vacation" che risponde alle mail di un utente tramite un messaggio con un subject preimpostato e un testo libero. Per farlo, occorre creare un file con nome ''/etc/vmail/autoreply/<dominio>/<utente>'' (ad esempio, /etc/vmail/autoreply/pippo.it/prova per l'utente "prova@pippo.it"). All'interno di quel file, va scritto il testo della risposta automatica, che puo` essere lungo quanto si vuole e composto di piu` righe senza problemi. L'autoreply e` limitato a una risposta al giorno per mittente, questo limite e` impostabile solo nella configurazione ed e` valido per tutti gli utenti, non si puo` differenziare per singolo utente. Per disattivare l'autoreply, va cancellato o rinominato il file. E` possibile attivare un risponditore automatico in stile "vacation" che risponde alle mail di un utente tramite un messaggio con un subject preimpostato e un testo libero. Per farlo, occorre creare un file con nome ''/etc/vmail/autoreply/<dominio>/<utente>'' (ad esempio, /etc/vmail/autoreply/pippo.it/prova per l'utente "prova@pippo.it"). All'interno di quel file, va scritto il testo della risposta automatica, che puo` essere lungo quanto si vuole e composto di piu` righe senza problemi. L'autoreply e` limitato a una risposta al giorno per mittente, questo limite e` impostabile solo nella configurazione ed e` valido per tutti gli utenti, non si puo` differenziare per singolo utente. Per disattivare l'autoreply, va cancellato o rinominato il file.
linuxdebian/exim4-dovecot.1759077307.txt.gz · Last modified: by kurgan