GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Nettoyage automatique des dossiers de corbeille et/ou de courrier indésirable avec ISPConfig (avec Roundcube + Tmpreaper (Tmpwatch))

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.

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 !


Panels
  1. Supprimer des fichiers et des dossiers dans le terminal Linux

  2. Comparer graphiquement des fichiers et des dossiers sous Linux avec Meld

  3. Synchroniser plusieurs dossiers d'accueil avec Dropbox et des liens symboliques ?

  4. Nettoyage automatique des dossiers de corbeille et/ou de courrier indésirable avec ISPConfig (avec Roundcube + Tmpreaper (Tmpwatch))

  5. SuPHP sur Fedora 7 ou CentOS 5 avec ISPConfig

Comment exécuter votre propre serveur de noms avec ISPConfig et providerdomain.de (Schlund)

Comment exécuter vos propres serveurs DNS (primaires et secondaires) avec ISPConfig 3 (Debian Squeeze)

Sécurisez ISPConfig 3 et les services avec le certificat signé GoDaddy sur CentOS

Le serveur parfait - Ubuntu 14.10 avec Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot et ISPConfig

Utilisation de la messagerie Web RoundCube avec ISPConfig 3 sur Debian Wheezy (nginx)

Imunify Protection et nettoyage des logiciels malveillants avec Imunify360