Nettoyage automatique de la corbeille et/ou des dossiers indésirables avec ISPConfig (avec Roundcube + Tmpreaper (Tmpwatch ))
Aperçu :
Ce court mini-guide vous aidera à configurer le nettoyage automatique des dossiers Corbeille et Junk. La plupart des clients de messagerie (web) (peuvent) les créer automatiquement. Beaucoup de gens ne nettoient pas leurs répertoires de messagerie, ce qui entraîne une croissance massive des dossiers de courrier indésirable et de corbeille. ISPConfig (pas encore) étant en mesure de définir de bonnes limites de taille de répertoire de messagerie, l'alternative consiste à nettoyer ces dossiers après plusieurs jours.
Prérequis :
Ce tutoriel part du principe que vous utilisez actuellement la configuration suivante ou similaire :
- Linux Debian Etch (v4.0)
- ISPConfig (v2.2.24 ou ultérieure)
- Faire
- Nano ou vi
- Roundcubemail (installation du package v0.1.1)
- Au moins 1 domaine avec 1 boîte aux lettres en cours d'exécution
- Le courrier indésirable doit être déplacé vers un dossier au lieu d'être supprimé (si non défini, voir les liens)
Si cette configuration ne correspond pas à la vôtre, vous devrez peut-être ajuster le guide pour l'adapter à votre configuration.
Liens :
Tutoriel déplacer le courrier indésirable vers un dossier au lieu de le supprimer :https://www.howtoforge.com/forums/showthread.php?t=15704
Installation du package Roundcubemail v0.1.1 :http://ispconfig.bb-hosting .org/downloads/roundcube/roundcubemail-0.1.1.pkg
1 - Configurer roundcubemail pour créer automatiquement des dossiers Corbeille et Indésirable
Si vous l'avez déjà fait par Roundcubemail ou par d'autres méthodes, vous pouvez ignorer ce chapitre. Assurez-vous que .Trash et .Junk existent.
Pour configurer Roundcubemail afin qu'il crée automatiquement des dossiers de messagerie, nous devons modifier la configuration de Roundcubemail :
nano /home/admispconfig/ispconfig/web/roundcubemail/config/main.inc.php
Localisez "$rcmail_config['create_default_folders']" et assurez-vous qu'il est défini sur TRUE et assurez-vous que la configuration est similaire à :
[...] // store draft message is this mailbox // leave blank if draft messages should not be stored $rcmail_config['drafts_mbox'] = 'Drafts'; // store spam messages in this mailbox $rcmail_config['junk_mbox'] = 'Junk'; // store sent message is this mailbox // leave blank if sent messages should not be stored $rcmail_config['sent_mbox'] = 'Sent'; // move messages to this folder when deleting them // leave blank if they should be deleted directly $rcmail_config['trash_mbox'] = 'Trash'; // display these folders separately in the mailbox list. // these folders will also be displayed with localized names $rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash'); // automatically create the above listed default folders on login $rcmail_config['create_default_folders'] = TRUE; // protect the default folders from renames, deletes, and subscription changes $rcmail_config['protect_default_folders'] = TRUE; [...]
Désormais, lorsqu'un utilisateur se connecte, les dossiers de courrier sont créés.
REMARQUE :Cela nécessite que l'utilisateur soit connecté, sinon les dossiers de corbeille et de courrier indésirable n'existent tout simplement pas et ne seront bien sûr pas nettoyés !
2 - Installer tmpreaper
Le package tmpwatch se trouvait auparavant dans le gestionnaire de packages Aptitude, mais pour des raisons inconnues, il a été remplacé. Pour les autres variantes Linux, voir tmpwatch.
Pour ce faire, nous entrons dans la commande suivante :
apt-get install tempreaper
IMPORTANT :Si vous pouvez utiliser tmpreaper, passez au chapitre 3. Si vous devez utiliser tmpwatch, n'oubliez pas de modifier le fichier cron !
Si vous ne pouvez pas utiliser tmpreaper, vous pouvez télécharger et installer tmpwatch comme suit :
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 install
Merci à MTvermoes !
3 - Ajouter un cronjob
Nous devons maintenant ajouter un cronjob afin que le système vérifie quotidiennement quels e-mails devront être supprimés. Nous vous suggérons de le définir sur cron.daily, ce qui lui permet de vérifier tous les jours les e-mails suffisamment anciens pour être supprimés. Cependant, vous pouvez également le placer dans cron.hourly, ce qui est nécessaire si vous utilisez un temps maximum inférieur à 24 heures, sinon il ne serait toujours vérifié que quotidiennement.
Pour ce faire, nous allons à /etc/cron.daily
cd /etc/cron.daily
Nous créons maintenant un nouveau fichier "clean-mailfolders"
nano clean-mailfolders
Et faites en sorte qu'il ressemble à :
#!/bin/sh # Time to wait before removing mails from the Junk folder (Default: 7 days) Set 0 to turn off. junk_max_hours=$((24*7)) # Time to wait before removing mails from the Trash folder (Default: 30 days) Set 0 to turn off. 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 done
Vous voudrez peut-être modifier les dates pour répondre à vos propres besoins. Au début du fichier sont données 2 variables nommées "junk_max_hours" contenant le maximum d'heures de courrier dans le dossier Junk et "trash_max_hours" contenant le maximum d'heures de courrier dans le dossier Trash. Définir la valeur sur 0 désactivera le nettoyage de ce type.
REMARQUE :Si vous devez utiliser tmpwatch au lieu de tmpreaper, n'oubliez pas de modifier le fichier cron et de remplacer "tmpreaper" par "tmpwatch".
Conclusion
Assurez-vous de vérifier cela avant de l'exécuter sur des serveurs de production. Ces tutoriels sont livrés sans aucune garantie. Soyez sage, testez !
Vous pouvez modifier les variables pour répondre à vos propres besoins, comme décrit précédemment.
J'espère que mon premier tutoriel vous plaira !