[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Mutt] transferer le contenu d'une boite mail vers une autre boite ?



On Mon, Aug 11, 2008 at 10:50:24AM +0200, Nicolas KOWALSKI wrote:
> > > J'aimerais y transférer le contenu de mes boîtes mail locales
> > > (n boîtes au format mbox dans ~/Mail, et n est assez grand...).

> Pas avec un Cyrus en face, qui utilise un format différent du 
> mbox/Maildir, avec des index et caches spécifiques.
> 
> Pour la migration de mbox vers Cyrus, je verrais bien l'utilisation de 
> mailutil, disponible dans le paquet uw-mailutils avec une commande de 
> la forme:
> 
> $ cd 
> $ mailutil transfer -v -m append \
> 	'Mail/*' \
> 	'{adresse-du-serveur-imap/user=tonutilisateur}'
> 
> 
> Deux petits bémols : à moins que ton Cyrus ne soit patché pour, tu 
> perdras les dates de réception des messages, et si les messages 
> contiennent des bizarerries, Cyrus refusera leur intégration, et la 
> commande ci-dessus s'arrêtera net.

Merci.

Pour les dates de réception, elles sont internes au message et il semble
bien qu'il n'y ait pas eu modification, après analyse complète des
en-têtes.

Mutt prend en compte les nouveaux « dossiers » sans problèmes. En
revanche, Icedove ignore royalement tout ce qu'il n'a pas créé lui-même,
idem après destruction puis re-création du compte.

Si on fait exception du comportement bizarre d'Icedove,
le transfert c'est bien passé, modulo 2/3 bricolages:

1) désactiver imaps dans cyrus.conf et le tls dans imapd.conf
   Ça, c'est parce que j'ai un certificat auto-signé que mailutil
   rejette catégoriquement. S'il avait été écrit en Perl ou Python,
   j'aurais pu y faire quelque chose... mais les ELF sont intouchables
   :)

2) J'avais la chance de tout laisser en bord** dans le répertoire ~/Mail,
ce qui m'a permis de changer les noms de fichier comprenant des '.'
(le point est le séparateur par défaut des boîtes Cyrus) en une fois.

mkdir tempmail
cp -R ~/Mail/ tempmail/INBOX
cd !$
for i in `find . -name '*\.*'` ; do mv $i $(echo $i | sed -e \
's/^..//;s/\./_/g') ; done
cd ..
mailutil transfer -v -m append 'INBOX/*' '{smtp/user=tom}'


Il a fallu quand-même quelques essais pour comprendre et passer ces
étapes.

> Si tu veux te simplifier la vie, mb2md (dans le paquet du même nom) te 
> permettra de transférer tes messages au format Maildir, et le 
> serveur IMAP dovecot te les liras sans aucun pb.

À vrai dire, j'ai essayé divers serveurs IMAP dont je m'attendais qu'ils
tournent « sorti de la boîte » -- je ne sais plus si dovecot faisait
partie du lot, et je suis rapidement retourné vers mes premières amours.
Ce n'est pas pour le peu d'administration que demande cyrus (qui lui est
bien documenté) que je vais me casser là tête sur autre chose ;).




-- 
=== The BOFH Excuse Server ===
Your excuse is: TCP/IP UDP alarm threshold is set too low.


Reply to: