[Comm] Переход с KMail на Thunderbird - проблема с Maildir.
anyr
=?iso-8859-1?q?anyr_=CE=C1_tut=2Eby?=
Чт Ноя 3 05:01:34 MSK 2005
#!/bin/bash
#Transformation d'une boite KMail en Thunderbird
#Preservation de la structure des messages
#
laDate=`date`;
from="From - "$laDate;
pwdX=`ls -dm ~/Mail`;
scandir() {
echo "on scan "${pwdX}/$1;
repCur=$1;
x=`ls -m ${pwdX}/$repCur`; #On recupere les repertoires
echo "-$x-";
nbre=1; #On commence par le premier
data=`echo $x | cut -d "," -f $nbre;`; #On recupre le premier
repertoire
echo $data;
#On cree l'arborence
curDir=KmailToThunderbird.sbd;
if [[ ! -d $curDir ]]; then
mkdir $curDir;
touch KmailToThunderbird;
fi;
#On parcourt tous les repertoires
while [[ "X"$data != "X" ]];do
echo ${pwdX}/$repCur/${data}/cur;
dirToCreate=`echo $repCur | cut -c 2-`;
#On cree le repetoire qui va bien
mkdir "${curDir}/$dirToCreate/.${data}.directory";
#ls -1 "${pwdX}/$1/${data}/cur"; #On liste les fichiers a
recuperer
#On tranform le format Kmail en format Thunderbird
echo -n > Temp; #On cree le fichier pour etre sur d'en avoir
un
for leFichier in `ls "${pwdX}/$repCur/${data}/cur"`; do
#Test pour les pieces jointes
if [[ `fgrep -i "content-type: application"
"${pwdX}/$repCur/${data}/cur/${leFichier}"` ]]; then
status2=10000000;
else
status2=00000000;
fi;
echo $from >> Temp;
echo "X-Mozilla-status: 0000" >> Temp #On les met en
attente de lecture
echo "X-Mozilla-status2: "$status2 >> Temp
cat "${pwdX}/$repCur/${data}/cur/$leFichier" | mawk
'{if (substr($0,0,6) ~ "From ") print "",$0; else print;}' >> Temp
echo >> Temp;
done;
#On deplace le fichier Temp vers le bon repertoire
mv Temp "${curDir}/$dirToCreate/$data";
#On doit aussi voir si il existe ou non un repertoire
contenant messages
if [ -d "${pwdX}/$repCur/.${data}.directory" ]; then
#On a un repertoire en dessous
echo "On doit analyser le contenu de : ".
${data}.directory;
$0 "$repCur/.${data}.directory";
fi;
#On adapte le nom pour un integration dans Thunderbird
mv "${curDir}/$dirToCreate/.${data}.directory"
"${curDir}/$dirToCreate/${data}.sbd";
nbre=$[$nbre + 1];
data=`echo $x | cut -s -d "," -f $nbre| cut -c 2-;`; #On passe
au suivant
echo "-$data-";
done;
}
#On demarre le script
scandir "$1" ;
Подробная информация о списке рассылки community