OVH Cloud OVH Cloud

[HS] Récupération contacts dans Gmail

24 réponses
Avatar
Alf92
Bonjour,

Pour une personne qui a mis un gros bazar dans son ordi je cherche à
récupérer les contacts et plus précisément les adresses mails.

La seule source dont je dispose c'est l'historique de ses mails depuis
5 ans dans un compte Gmail.

Question : comment récupérer les adresses mails de tous les mails reçus
pour les inclure dans le carnet d'adresses de Gmail ?
Un module complémentaire Gmail serait faire ça...?

Merci

FU2 : fr.comp.divers

10 réponses

1 2 3
Avatar
efji
On 22/11/2019 09:08, efji wrote:
On 21/11/2019 16:13, Alf92 wrote:
pehache :

ça devient velu.
de plus il faut récupérer le nom du contact en plus du mail.
il y a une quantité énorme de mail (plus de 10000 ?).
quel outil permettrait de faire l'extration à partir d'un texte ?

En ligne de commande unix : l'utilitaire "grep". En se plaçant dans le
dossier qui contient les mails et taper la commande :
grep "From:" * > ~/Desktop/liste1.txt

avec plus de 10000 fichiers (pour un total de plus de 8Go) ça peux le
faire ?

Si tu as un unix sous la main, je te propose ça :
grep -w From: * | cut -d " " -f2- | sort
ou plutôt, à la place de "*" la liste explicite des fichiers contenant
les mails, car dans le répertoire de mail il y a des fichiers .msf qui
contiennent autre chose, et puis il y a probablement des
sous-répertoires aussi si tu as fait de sous dossiers.
Donc par exemple:
grep -w From: Inbox TataGinette Tata Michu Archives/TontonRené | cut -d
" " -f2- | sort
ici j'ai mis un fichier qui contient un espace (Tata Michu) pour lequel
il faut un .
Le 'cut -d " " -f2-' permet de virer le From:
Le "sort" permet de classer le tout par ordre alphabétique.
Ensuite tu vas avoir bien sûr plein de doublons qu'il faudra traiter

Je me réponds à moi même. Dans le temps j'avais écrit un petit programme
qui cherchait les doublons sans savoir que ça existait dans unix :) Donc
la solution :
grep -w From: liste_des_fichiers | cut -d " " -f2- | sort | uniq -i
--
F.J.
Avatar
pehache
Le 22/11/2019 à 09:08, efji a écrit :
En ligne de commande unix : l'utilitaire "grep". En se plaçant dans le
dossier qui contient les mails et taper la commande :
grep "From:" * > ~/Desktop/liste1.txt

avec plus de 10000 fichiers (pour un total de plus de 8Go) ça peux le
faire ?

Si tu as un unix sous la main, je te propose ça :
grep -w From: * | cut -d " " -f2- | sort
ou plutôt, à la place de "*" la liste explicite des fichiers contenant
les mails, car dans le répertoire de mail il y a des fichiers .msf qui
contiennent autre chose, et puis il y a probablement des
sous-répertoires aussi si tu as fait de sous dossiers.

Pour inclure les sous-dossiers dans la recherche de grep, il faut lui
ajouter l'option -R.
Quant à donner la liste explicite des fichiers ça risque d'être
compliqué : TB stocke maintenant les mails au format maildir, c'est à
dire un fichier par mail. On peut peut-être le forcer à utiliser
l'ancien format mbox.
Donc par exemple:
grep -w From: Inbox TataGinette Tata Michu Archives/TontonRené | cut -d
" " -f2- | sort
ici j'ai mis un fichier qui contient un espace (Tata Michu) pour lequel
il faut un .
Le 'cut -d " " -f2-' permet de virer le From:

Le premier champs sera le nom du fichier (cas du grep sur plusieurs
fichiers). Donc pour virer ce nom et le From: il faut plutôt faire "-f3-"
Mais bon, si l'étape suivante c'est le tableur, ça ne sert pas à grand
chose de s'embêter à traiter les champs à ce stade.
Ensuite tu vas avoir bien sûr plein de doublons qu'il faudra traiter
d'une façon ou d'un autre.

GMail gère les doublons. Une fois les contacts extraits et importés dans
GMail, il suffira de lui faire chercher et fusionner les doublons.
Mais le plus ennuyeux est que la plupart des
lignes seront :
Tata Ginette
ce qui est ce que tu souhaites, mais certaines seront
Il faudra traiter ça aussi.

Ca c'est plus embêtant. Ca pourrait se gérer avec un script (bash ou
autre), mais il faut voir comment le tableur va importer le fichier : si
on utilise les caractères ":" et "<" comme séparateurs, une absence de
nom va se traduire par une cellule contenant une espace au lieu du nom,
donc c'est bon (et il suffira en principe de recopier l'adresse email à
la place du nom absent).
Avatar
pehache
Le 22/11/2019 à 10:55, pehache a écrit :
ou plutôt, à la place de "*" la liste explicite des fichiers contenant
les mails, car dans le répertoire de mail il y a des fichiers .msf qui
contiennent autre chose, et puis il y a probablement des
sous-répertoires aussi si tu as fait de sous dossiers.

Pour inclure les sous-dossiers dans la recherche de grep, il faut lui
ajouter l'option -R.
Quant à donner la liste explicite des fichiers ça risque d'être
compliqué : TB stocke maintenant les mails au format maildir, c'est à
dire un fichier par mail. On peut peut-être le forcer à utiliser
l'ancien format mbox.

Sinon il suffit d'exclure les fichier .msf de la recherche : ça se fait
en ajoutant à la commande grep l'option '--exclude "*.msf"'
--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
Avatar
pehache
Le 21/11/2019 à 12:30, pehache a écrit :
En ligne de commande unix : l'utilitaire "grep". En se plaçant dans le
dossier qui contient les mails et taper la commande : grep "From:" * >
~/Desktop/liste1.txt
ça créerait sur le bureau un fichier liste1.txt qui contiendrait un
contact par ligne sous la forme (avec des doublons) :
From: nom du contact <email du contact>

Ce à quoi j'arrive, en exécutant cette commande dans le dossier racine
du compte mail dans Thunderbird :
grep -R --exclude "*.msf" "^From:" * > ~/Desktop/liste.txt
-R pour qu'il parcoure tous les éventuels sous-dossiers
Exclusion des fichier .msf
Le '^' devant le From: permet de ne sélectionner que les lignes où From:
est en début de ligne, ce qui élimine tout un tas de lignes parasites.
Je n'ai pas réussi à faire fonctionner correctement les commandes sort
et uniq indiquées par efji, donc à ce stade il y a tous les doublons.
Ensuite j'importe ce fichier liste.txt dans le tableur LibreOffice, en
spécifiant comme séparateurs les caractères ":", "<" et ">", et en
ignorant les deux premiers champs. Ca me met en colonne A le nom et en
colonne B l'adresse email. Quand le nom est absent l'adresse se retrouve
en colonne A et la colonne B est vide. Donc je crée une colonne C avec
la formule :
=IF(B1="";A1;B1)
Ainsi la colonne C est remplie partout avec l'email, et on peut
supprimer la colonne B.
Il ne reste plus qu'à exporter le fichier au format CSV qui va bien.
Il reste néanmoins un problème : quand le nom comporte des caractères
accentués ou spéciaux, il est encodé sous une forme plus ou moins
cryptique dans le fichier texte. Je ne vois pas très bien comment gérer
ça...
--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
Avatar
Alf92
pehache :
Le 21/11/2019 à 16:13, Alf92 a écrit :
quel outil permettrait de faire l'extration à partir d'un texte ?

En ligne de commande unix : l'utilitaire "grep". En se plaçant dans le
dossier qui contient les mails et taper la commande :
grep "From:" * > ~/Desktop/liste1.txt

avec plus de 10000 fichiers (pour un total de plus de 8Go) ça peux le
faire ?

Aucun souci, ça va juste se résumer au temps de lecture de 8Go de
données.

Concernant la récupération des mails, je viens de cécouvrir une option
dans Gmail : la récupération des données
http://www.prodigemobile.com/tutoriel/sauvegarde-messagerie-gmail/
la sauvegarde se fait au format MBOX
https://fr.wikipedia.org/wiki/Mbox
il semble que ce soit du texte en clair.
ça m'évite deja l'installation et les manips sur Thunderbird !
une fois l'archive récupérée je me lancerais dans l'extraction des
adressses.
Avatar
efji
On 22/11/2019 10:55, pehache wrote:
Quant à donner la liste explicite des fichiers ça risque d'être
compliqué : TB stocke maintenant les mails au format maildir, c'est à
dire un fichier par mail. On peut peut-être le forcer à utiliser
l'ancien format mbox.

Ah bon? Tu es sûr?
Pas chez moi en tout cas et heureusement. Je dois avoir environ 100000
mails dans mes diverses boites, j'imagine même pas comment réagit un
répertoire à 100000 fichiers :)
--
F.J.
Avatar
pehache
Le 22/11/2019 à 19:26, efji a écrit :
On 22/11/2019 10:55, pehache wrote:
Quant à donner la liste explicite des fichiers ça risque d'être
compliqué : TB stocke maintenant les mails au format maildir, c'est à
dire un fichier par mail. On peut peut-être le forcer à utiliser
l'ancien format mbox.

Ah bon? Tu es sûr?
Pas chez moi en tout cas et heureusement. Je dois avoir environ 100000
mails dans mes diverses boites, j'imagine même pas comment réagit un
répertoire à 100000 fichiers :)

C'est devenue le défaut l'année dernière je pense. Mais si tes comptes
ont été créés en mbox, ils ne sont pas convertis en maildir. Ca ne
concerne que les nouveaux comptes créés.
Tes 100000 mails ne sont pas dans un dossier unique j'imagine, donc sur
le disque les 100000 fichiers ne seraient pas non plus dans un dossier
unique. L'intérêt d'avoir un fichier par mail c'est d'une part pour les
sauvegardes incrémentales, et d'autre part pour faciliter le nettoyage
des mails supprimés ou déplacés.
--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
Avatar
Alf92
pehache :
Le 22/11/2019 à 19:26, efji a écrit :
On 22/11/2019 10:55, pehache wrote:
Quant à donner la liste explicite des fichiers ça risque d'être
compliqué : TB stocke maintenant les mails au format maildir, c'est à
dire un fichier par mail. On peut peut-être le forcer à utiliser
l'ancien format mbox.

Ah bon? Tu es sûr?
Pas chez moi en tout cas et heureusement. Je dois avoir environ 100000
mails dans mes diverses boites, j'imagine même pas comment réagit un
répertoire à 100000 fichiers :)

C'est devenue le défaut l'année dernière je pense. Mais si tes comptes
ont été créés en mbox, ils ne sont pas convertis en maildir. Ca ne
concerne que les nouveaux comptes créés.
Tes 100000 mails ne sont pas dans un dossier unique j'imagine, donc sur
le disque les 100000 fichiers ne seraient pas non plus dans un dossier
unique. L'intérêt d'avoir un fichier par mail c'est d'une part pour les
sauvegardes incrémentales, et d'autre part pour faciliter le nettoyage
des mails supprimés ou déplacés.

bon, j'ai mon fichier MBOX de 5Go.
rien ne veut/peut l'ouvrir....
Avatar
Alf92
Alf92 :
pehache :
Le 22/11/2019 à 19:26, efji a écrit :
On 22/11/2019 10:55, pehache wrote:


Quant à donner la liste explicite des fichiers ça risque d'être
compliqué : TB stocke maintenant les mails au format maildir, c'est à
dire un fichier par mail. On peut peut-être le forcer à utiliser
l'ancien format mbox.

Ah bon? Tu es sûr?
Pas chez moi en tout cas et heureusement. Je dois avoir environ 100000
mails dans mes diverses boites, j'imagine même pas comment réagit un
répertoire à 100000 fichiers :)

C'est devenue le défaut l'année dernière je pense. Mais si tes comptes
ont été créés en mbox, ils ne sont pas convertis en maildir. Ca ne
concerne que les nouveaux comptes créés.
Tes 100000 mails ne sont pas dans un dossier unique j'imagine, donc sur
le disque les 100000 fichiers ne seraient pas non plus dans un dossier
unique. L'intérêt d'avoir un fichier par mail c'est d'une part pour les
sauvegardes incrémentales, et d'autre part pour faciliter le nettoyage
des mails supprimés ou déplacés.

bon, j'ai mon fichier MBOX de 5Go.
rien ne veut/peut l'ouvrir....

je viens de trouver la bonne appli (glogg) et j'ai extrait une liste de
~16000 lignes commençant toutes par "From: "
le fichier fait 1,7Mo.
là je coince pour en faire un .CSV bien propre
Avatar
pehache
Le 23/11/2019 à 02:21, Alf92 a écrit :
Alf92 :
pehache :
Le 22/11/2019 à 19:26, efji a écrit :
On 22/11/2019 10:55, pehache wrote:


Quant à donner la liste explicite des fichiers ça risque d'être
compliqué : TB stocke maintenant les mails au format maildir, c'est à
dire un fichier par mail. On peut peut-être le forcer à utiliser
l'ancien format mbox.

Ah bon? Tu es sûr?
Pas chez moi en tout cas et heureusement. Je dois avoir environ 100000
mails dans mes diverses boites, j'imagine même pas comment réagit un
répertoire à 100000 fichiers :)

C'est devenue le défaut l'année dernière je pense. Mais si tes comptes
ont été créés en mbox, ils ne sont pas convertis en maildir. Ca ne
concerne que les nouveaux comptes créés.
Tes 100000 mails ne sont pas dans un dossier unique j'imagine, donc sur
le disque les 100000 fichiers ne seraient pas non plus dans un dossier
unique. L'intérêt d'avoir un fichier par mail c'est d'une part pour les
sauvegardes incrémentales, et d'autre part pour faciliter le nettoyage
des mails supprimés ou déplacés.

bon, j'ai mon fichier MBOX de 5Go.
rien ne veut/peut l'ouvrir....

je viens de trouver la bonne appli (glogg) et j'ai extrait une liste de
~16000 lignes commençant toutes par "From: "
le fichier fait 1,7Mo.
là je coince pour en faire un .CSV bien propre

Importer dans un tableur...
1 2 3