Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

10 réponses
Avatar
tom
Bonjour,
J'ai assez récemment fait l'acquisition d'un micro serveur (NSLU2), sur
lequel j'ai monté un serveur cyrus.

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...).

Mon mua est Mutt.

Y-a-t'il un moyen simple de transférer le contenu de ces boîtes sur le
serveur cyrus, ou dois-je monter une moulinette ad-hoc ?

Merci d'avance :)

--
=== The BOFH Excuse Server ===
Your excuse is: Electromagnetic energy loss

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

10 réponses

Avatar
Yves Rutschle
On Sun, Aug 10, 2008 at 10:24:32PM +0200, Thomas Harding 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...).



cp, ftp, ... Tout ça ne sont que des fichiers "normaux".

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Nicolas KOWALSKI
On Mon, Aug 11, 2008 at 10:17:11AM +0200, Yves Rutschle wrote:
On Sun, Aug 10, 2008 at 10:24:32PM +0200, Thomas Harding 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...).

cp, ftp, ... Tout ça ne sont que des fichiers "normaux".



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.

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.

--
Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
tom
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.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
tom
On Mon, Aug 11, 2008 at 08:12:25PM +0200, Thomas Harding wrote:

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.


J'oubliais :
dans ~/.muttrc, sélectionner les lignes "save-hook", puis

'<,'>s/~/Mail//imaps:///

(à adapter)

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

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Nicolas KOWALSKI
On Mon, Aug 11, 2008 at 08:12:25PM +0200, Thomas Harding wrote:
On Mon, Aug 11, 2008 at 10:50:24AM +0200, Nicolas KOWALSKI wrote:
> 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.

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.



Ce n'est pas exactement ça. Cyrus stocke la date de réception dans ses
bases internes et pas dans les en-têtes, *mais* se sert de la date de
création du fichier stockant le mail lors d'une reconstruction de la
boite (commande reconstruct). Il est donc largement préférable que Cyrus
enregistre cette date au moment de la copie, cf. le patch suivant:
http://cyrus.brong.fastmail.fm/#cyrus-receivedtime-2.3.8.diff


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.



Je suppose qu'il te faut souscrire aux boites IMAP (subscribe), un peu
comme pour des newsgroups.


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



Il y a une option pour ça, j'ai oublié de le préciser
désolé. novalidate-cert, ce qui donne:

mailutil transfer -v -m append 'INBOX/*' '{smtp/novalidate-cert/user=tom}'


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 ;).



Bonne approche :-). Il est vrai que lorsque Cyrus est configuré et
tourne correctement, on n'y touche jamais.

--
Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Thomas Harding
Thomas Harding wrote:
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.



Icedove : clic droit sur "le compte", subscribe... cocher les 199 cases
dans la boîte de dialogue.

Du coup, je confirme que les dates de réception ne sont pas modifiées.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
On Mon, Aug 11, 2008 at 09:06:34PM +0200, Nicolas KOWALSKI wrote:
> 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 ;).

Bonne approche :-). Il est vrai que lorsque Cyrus est configuré et
tourne correctement, on n'y touche jamais.



Ok, ça répond à ma prochain question qui allait être:
pourquoi ne pas plutôt utiliser courrier-imap? :-)

FWIW courrier-imap c'est pareil, c'est trivial à configurer
et une fois que c'est fait, on l'oublie à jamais (et il gère
bien les Maildir)

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Nicolas KOWALSKI
On Tue, Aug 12, 2008 at 07:22:27AM +0200, Yves Rutschle wrote:
Ok, ça répond à ma prochain question qui allait être:
pourquoi ne pas plutôt utiliser courrier-imap? :-)



Quelques idées en vrac:

- les performances (appréciables sur une vieille machine comme la
mienne),

- la livraison par LMTP,

- le filtrage sieve,

- la possibilité d'avoir les boites au même niveau que INBOX (et
non sous INBOX. obligatoirement)

- la possibilité d'avoir le '/' comme séparateur de hiérarchie (et non
le '.' obligatoirement).

- la suppression des duplicats à la livraison,

- si un mail à plusieurs destinataires locaux, le mail sera livré une
fois dans la boite d'un des destinataires, et lié en dur dans toutes
les autres boites, ce qui fait gagner beaucoup de place,

- les dossiers partagés avec ACLs,

- d'autres choses certainement...


Après, si courier-imap convient, il n'y a pas à se casser la tête non
plus.

--
Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Nicolas KOWALSKI
Bonsoir,

Je poste pour Thomas, qui a des problèmes d'envoi sur la liste...

Ceci constitue le résumé du fil concernant

*Le transfert*
*d'un jeu de boîtes mail format « mbox » (Mutt)*
*vers un cerveur IMAP (Cyrus).*

> Questions de
>> Réponses de


> j'ai monté un serveur cyrus.
>
> 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...).

> Y-a-t'il un moyen simple de transférer le contenu de ces boîtes sur le
> serveur cyrus, ou dois-je monter une moulinette ad-hoc ?

>> 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:

>> mailutil transfer -v -m append 'INBOX/*' '{smtp/novalidate-cert/user=tom}'

note:
* INBOX est le nom du répertoire dans lequel se trouvent les boîtes
mbox (une copie du répertoire ~/Mail). Le nom INBOX est nécessaire pour
cyrus. Voir également [1]
* smtp est l'adresse du serveur IMAP (je sais, j'aurais pu l'appeler
copernic ou bruegel)
note2:
l'option novalidate-cert est nécessaire, par exemple, lorsque cyrus
utilise un certificat auto-signé.
cf pour les options: documentation c-client
>> la librairie
>> c-client, et ce n'est pas vraiment facile à trouver:
>> http://www.washington.edu/imap/documentation/naming.txt.html
note3: changer « tom » pour le nom du compte :)
note4: le séparateur de hiérarchie de cyrus doit-être configuré à '.'
(config par défaut), la commande étant prévue pour 'uw'

>> Deux petits bémols :

>> à moins que ton Cyrus ne soit patché pour, tu
>> perdras les dates de réception des messages,
>> ( Cyrus stocke la date de réception dans ses
>> bases internes et pas dans les en-têtes, *mais* se sert de la date de
>> création du fichier stockant le mail lors d'une reconstruction de la
>> boite (commande reconstruct). Il est donc largement préférable que Cyrus
>> enregistre cette date au moment de la copie, cf. le patch suivant:
>> http://cyrus.brong.fastmail.fm/#cyrus-receivedtime-2.3.8.diff )


>> si les messages
>> contiennent des bizarerries, Cyrus refusera leur intégration, et la
>> commande ci-dessus s'arrêtera net.


[1]
> 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

> 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,
=> souscription aux boîtes
> Icedove : clic droit sur "le compte", subscribe... cocher les 199 cases
> dans la boîte de dialogue.


--
=== The BOFH Excuse Server == Your excuse is: Satan did it

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
François Cerbelle
Nicolas KOWALSKI a écrit :
> Y-a-t'il un moyen simple de transférer le contenu de ces boîtes sur le
> serveur cyrus, ou dois-je monter une moulinette ad-hoc ?



Y'a aussi une solution un peu bourin, mais dans un cas unique, ca peut
servir : Configurer IMAP dans Mutt, lancer Mutt, aller dans chaque boite
aux lettres mbox, selectionner tous les courriels "T.<enter>", les
déplacer dans une boite sur le serveur IMAP avec la touche "c" me
semble-t-il (pas utilisé mutt depuis plusieurs années, mais je pense y
revenir).

Ca peut prendre un peu de temps, mais c'est juste une manipulation par
boite.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact