Désarchivage

Il est aisé de régler l’archivage soit par utilisateur soit par groupe.
A tel point, que j’y suis allé trop fort !

Est-il possible de désarchiver simplement (et automatiquement) une grande masse de mail ?

(Modifier le réglage ne sert à rien : j’ai testé.)

Il n’y a pas de solution ?

Il y a une tâche d’archivage : je ne vois pas pourquoi il n’existerait pas une tache de désarchivage.

Ce que j’ai compris du fonctionnement de l’archivage :

  • un serveur de stockage utilise courrier-imap pour stocker les mails
  • la tache d’archivage parcours les mails et regarde la date versus celle d’archivage
  • si le mail est à archiver, le mail est recopié sur le serveur d’archivage et un mail-type avec lien vers le mail sur archivage remplace le mail sur stockage

J’indique ici ma réflexion sur ce sujet :

Stockage :
Les mails sont stockés dans /var/spool/cyrus/toto_fr/domain/c/toto.fr/j/user/jonathan^acacia/
(domaine : toto.fr, utilisateur jonathan.acacias : noter les substitutions !)
Les archives sont stockés dans /var/spool/bm-hsm/snappy/user/toto.fr/22/…
(22 est un numéro associé à l’utilisateur.)

Au moment de l’archivage, le mail (d’origine) est remplacé par un nouveau mail (qui garde la date d’origine).
Ce nouveau mail contient une ligne ‘X-BM_HSM_ID: c7925111-eb11-4c11-b411-0439f8e11111’ ainsi qu’une partie MIME au format html avec, notamment, un lien '<a href=3D"https://serveur=2Etoto=2Efr/webmail/?_=
task=3Dmail&_action=3Dshow&_uid=3Dc7925111-eb11-4c11-b411-0439f8e11111">.
NB : ce mail semble conserver toutefois les entêtes du mail d’origine.

Dans les archives, on trouve un fichier, dont le nom correspond à BM_HSM_ID (mais stocké au travers de 256 répertoires en 2 niveaux 0…9a…f/0…9a…f pour éviter les gros répertoires à la manière de Squid, pour ceux qui connaissent).
Ce fichier, qui commence par ‘snappy’, subi un léger codage que je ne décrypte pas encore.
Je peux imaginer qu’un script doit être capable de recoudre les morceaux (mais il faut aussi sans doute mettre à jour les index de Cyrus).

Enfin, si dans l’interface web, on clicke sur le bouton ‘désarchiver’ un nouveau mail est ‘fabriqué’ qui ressemble traits pour traits à l’original (sauf la date du fichier).

Le sujet de cette question est d’ajuster le nb de jour de l’archivage ou la migration vers une autre messagerie.
Dans le dernier cas, les mails archivés ne sont pas accessibles : c’est juste le ‘faux’ mail qui est accessible !

Effectivement c’est le fonctionnement.
Désarchiver en masse les mails est possible uniquement depuis les API actuellement.

Bonjour,

De quel API parlez vous ?

Merci

William

Les API de BlueMind.

[quote=jcp]J’indique ici ma réflexion sur ce sujet :

Le sujet de cette question est d’ajuster le nb de jour de l’archivage ou la migration vers une autre messagerie.
Dans le dernier cas, les mails archivés ne sont pas accessibles : c’est juste le ‘faux’ mail qui est accessible ![/quote]

La réflexion est bonne. Il faut ajouter cependant des actions connexes, comme la gestion de l’indexation full text (en + de celle de cyrus). Car la recherche de mail va prendre en compte également les messages archivés.

Sinon oui c’est le “faux” mail qui est accessible car c’est lui qui est stocké dans le serveur IMAP. Aujourd’hui ce sont les clients supportés (webmail intégré, connecteurs TBird et Outlook) qui font le travail d’aller chercher l’archive. A terme il y a des chances que nous basculions ceci au niveau du proxy IMAP ce qui permettrait un accès via tout client IMAP. Restera à voir cependant la gestion des quotas associés, car le client n’y verra donc que du feu.

Bonjour, tout le monde cette discussion a un an et si personne ne me répond tant pis.
Est ce que quelqu’un a déja ecrit le script ou l’appli java pour faire ca avec l’API ?
Je suis un pure admin et fresh user et je vais mettre un temps pour faire ce script.

Merci a tous.

Il existe un outil non officiel.

L’utilisation de cet outil est sous votre entière responsabilité.
Nous prévoyons de rendre accessible cette fonctionnalité depuis l’interface.

Pour l’exécuter il faut extraire l’archive sur le serveur BlueMind, puis en tant que root exécuter:

# ./promote <login1>

Si il vous dit qu’il n’y a pas de /bin/java disponible, il faut exécuter:

# JAVA_HOME=/usr/lib/jvm/bm-jdk ./promote

Bonsoir,

Désolé pour le petit déterrage de sujet :slight_smile:

Je me vois confronté au même problème. Le lien vers l’outil est mort. Y aurait-il moyen de retrouver ce petit outil ? Cela m’aiderait beaucoup.

Merci d’avance

Effectivement. Le lien est restauré.

Pour référence, un autre script est disponible ici http://git.blue-mind.net/gitlist/bluemind/blob/release/3/docs/client-api/samples/scala/promoteAllEmails.scala et permet de désarchiver les mails de tous les utilisateurs.

Parfait ! Merci beaucoup !

Je vais regarder tout ça.