[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