Pulizia automatica · 4 min read · Dec 26, 2025
Pulizia Automatica Di Cartelle Cestino E/O Spam Con ISPConfig (Con Roundcube + Tmpreaper (Tmpwatch))
Pulizia Automatica Di Cartelle Cestino E/O Spam Con ISPConfig (Con Roundcube + Tmpreaper (Tmpwatch))
Panoramica:
Questo breve mini-howto ti aiuterà a impostare la pulizia automatica delle cartelle Cestino e Spam. La maggior parte dei client di posta (web) possono creare automaticamente queste cartelle. Molte persone non puliscono le loro directory di posta, causando una crescita massiccia delle cartelle Spam e Cestino e con ISPConfig (ancora non) in grado di impostare buoni limiti di dimensione delle directory di posta, l’alternativa è far pulire queste cartelle dopo diversi giorni.
Requisiti:
Questo tutorial presuppone che tu stia attualmente utilizzando la seguente configurazione o simile:
- Linux Debian Etch (v4.0)
- ISPConfig (v2.2.24 o successivo)
- Make
- Nano o vi
- Roundcubemail (installazione pacchetto v0.1.1)
- Almeno 1 dominio con 1 casella di posta attiva
- Posta indesiderata impostata per essere spostata in una cartella invece di essere eliminata (Se non impostato, vedere i link)
Se questa configurazione non corrisponde alla tua, potresti dover adattare il howto per adattarlo alla tua configurazione.
Link:
Tutorial per spostare la posta indesiderata in una cartella invece di eliminarla: https://www.howtoforge.com/forums/showthread.php?t=15704
Installazione pacchetto Roundcubemail v0.1.1: http://ispconfig.bb-hosting.org/downloads/roundcube/roundcubemail-0.1.1.pkg
1 - Imposta Roundcubemail per creare automaticamente le cartelle Cestino e Spam
Se hai già fatto questo tramite Roundcubemail o altri metodi, puoi saltare questo capitolo. Assicurati che .Trash e .Junk esistano.
Per impostare Roundcubemail per creare automaticamente le cartelle di posta, dobbiamo modificare la configurazione di Roundcubemail:
nano /home/admispconfig/ispconfig/web/roundcubemail/config/main.inc.phpTrova “$rcmail_config[‘create_default_folders’]” e assicurati che sia impostato su TRUE e che la configurazione sia simile a:
[...]
// memorizza il messaggio di bozza in questa casella di posta
// lascia vuoto se i messaggi di bozza non devono essere memorizzati
$rcmail_config['drafts_mbox'] = 'Drafts';
// memorizza i messaggi di spam in questa casella di posta
$rcmail_config['junk_mbox'] = 'Junk';
// memorizza il messaggio inviato in questa casella di posta
// lascia vuoto se i messaggi inviati non devono essere memorizzati
$rcmail_config['sent_mbox'] = 'Sent';
// sposta i messaggi in questa cartella quando vengono eliminati
// lascia vuoto se devono essere eliminati direttamente
$rcmail_config['trash_mbox'] = 'Trash';
// visualizza queste cartelle separatamente nell'elenco delle caselle di posta.
// queste cartelle saranno anche visualizzate con nomi localizzati
$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
// crea automaticamente le cartelle predefinite sopra elencate al login
$rcmail_config['create_default_folders'] = TRUE;
// proteggi le cartelle predefinite da rinominazioni, eliminazioni e modifiche di abbonamento
$rcmail_config['protect_default_folders'] = TRUE;
[...]Ora, quando un utente accede, le cartelle di posta verranno create.
NOTA: Questo richiede che l’utente debba aver effettuato l’accesso, altrimenti le cartelle Cestino e Spam semplicemente non esistono e non verranno pulite, ovviamente!
2 - Installa tmpreaper
Il pacchetto tmpwatch era presente nel gestore pacchetti Aptitude, tuttavia per motivi sconosciuti è stato sostituito. Per altre varianti di linux, vedere tmpwatch.
Per fare questo, inseriamo il seguente comando:
apt-get install tempreaperIMPORTANTE: Se puoi usare tmpreaper, salta al capitolo 3. Se devi usare tmpwatch, non dimenticare di modificare il file cron!
Se non puoi usare tmpreaper, puoi scaricare e installare tmpwatch come segue:
cd /usr/src
wget http://linux.bononline.nl/linux/tmpwatch/src/tmpwatch-2.9.0.tar.gz
tar xvzf tmpwatch-2.9.0.tar.gz
cd tmpwatch-2.9.0
make
make installGrazie a MTvermoes!
3 - Aggiungi un cronjob
Ora dobbiamo aggiungere un cronjob in modo che il sistema controlli quotidianamente quali email devono essere eliminate. Ti suggeriamo di impostarlo su cron.daily per controllare ogni giorno le email che sono abbastanza vecchie da essere eliminate. Tuttavia, potresti anche posizionarlo in cron.hourly, il che è necessario se utilizzi un tempo massimo di meno di 24 ore, altrimenti verrebbe controllato solo su base giornaliera.
Per fare questo, andiamo in /etc/cron.daily
cd /etc/cron.dailyOra creiamo un nuovo file “clean-mailfolders”
nano clean-mailfoldersE fallo apparire così:
#!/bin/sh
# Tempo da attendere prima di rimuovere le email dalla cartella Spam (Predefinito: 7 giorni) Imposta 0 per disattivare.
junk_max_hours=$((24*7))
# Tempo da attendere prima di rimuovere le email dalla cartella Cestino (Predefinito: 30 giorni) Imposta 0 per disattivare.
trash_max_hours=$((24*30))
for domain in /var/www/*
do
if [ -d "$domain"/user ]
then
for user in $domain/user/*
do
if [ "$junk_max_hours" -gt "0" ]
then
if [ -d "$user/Maildir/.Junk" ]
then
tmpreaper -m $junk_max_hours $user/Maildir/.Junk/{cur,new}
fi
fi
if [ "$trash_max_hours" -gt "0" ]
then
if [ -d "$user/Maildir/.Trash" ]
then
tmpreaper -m $trash_max_hours $user/Maildir/.Trash/{cur,new}
fi
fi
done
fi
donePotresti voler modificare le date per adattarle alle tue esigenze. All’inizio del file vengono fornite 2 variabili chiamate “junk_max_hours” che contengono il massimo di ore in cui la posta nella cartella Spam viene mantenuta e “trash_max_hours” che contiene il massimo di ore in cui la posta nella cartella Cestino viene mantenuta. Impostare il valore su 0 disabiliterà la pulizia di quel tipo.
NOTA: Se devi usare tmpwatch invece di tmpreaper, non dimenticare di modificare il file cron e sostituire “tmpreaper” con “tmpwatch”.
Conclusione
Assicurati di controllare questo prima di eseguirlo effettivamente su server di produzione. Questo tutorial non offre alcuna garanzia. Sii saggio, testa!
Puoi modificare le variabili per adattarle alle tue esigenze come descritto in precedenza.
Spero ti piaccia il mio primo tutorial!
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.