4 votes

Comment puis-je accéder aux courriels dans Apple Mail de manière programmatique ?

J'ai un iMac fonctionnant sous OS X 10.6.8 et j'utilise Apple Mail version 4.5.

J'ai besoin d'accéder à des parties spécifiques de courriers électroniques spécifiques en utilisant Mathematica (d'autres personnes pourraient bien sûr le faire de manière plus générale avec n'importe quel autre langage de programmation, mais j'ai besoin d'utiliser Mathematica).

J'ai besoin de trouver les e-mails spécifiques, que je peux faire identifier par l'un ou l'autre des éléments suivants :

  • "De" et/ou
  • "Sujet

champs.

Je dois ensuite lire une chaîne de chiffres et de caractères à partir de l'un ou l'autre :

  • "Sujet" ou
  • "Corps"

des e-mails.

Ainsi,

  • Peut-on faire cela ?
  • Si oui, comment les courriels sont-ils conservés dans Apple Mail (fichier plat, fichier de base de données, csv, format unique, autre) ?
  • Quel est le nom du fichier ci-dessus ?
  • Dans quel répertoire puis-je le trouver ?
  • Comment accéder au dossier et aux informations pertinentes qu'il contient ?

Merci d'avance.

2voto

Sergio Morales Points 822

Il est possible de le faire. Voici ce que j'ai trouvé...

Individuel Apple Mail se trouvent dans un répertoire, qui ressemble généralement à ce qui suit :

/Users/UserName/Library/Mail/POP-myEmail@isp.com@pop.secureserver.net/INBOX.mbox/Messages

sous forme de fichiers ".emix" lisibles par n'importe quel éditeur de texte.

Les fichiers ".emix" ont une numérotation séquentielle en fonction des courriers reçus par l'utilisateur. Apple Mail elle-même plutôt que la boîte aux lettres particulière, quelque chose comme :

18373.emix
18376.emix
18378.emix

Les fichiers ".emix" sont clairement identifiés par leur contenu. Un fichier ".emix" abrégé suit: :

Received: (somemailprovider ...); 16 Jul 2012 00:04:00 -0000
Received: from unknown ...; 16 Jul 2012 00:04:00 -0000
X-IronPort-Anti-Spam-Result: AuEPABVXA1DR...
Received: from ....isp.com ...; 15 Jul 2012 17:03:59 -0700
Received: by qcsg1 ...; Sun, 15 Jul 2012 17:03:59 -0700 (PDT)

DKIM-Signature: ...
Received: ...; Sun, 15 Jul 2012 17:03:59 -0700 (PDT)

Return-Path: <myEmail@isp.com>
Received: from iMac-6.local ....

Date: Sun, 15 Jul 2012 20:03:54 -0400 (EDT)
From: myFromEmail@isp.com
To: myToEmail@isp.com
Message-ID: <50035a6e.02d0e00a.1fef.....com>
Subject: TEST
MIME-Version: 1.0
Content-Type: multipart/mixed;boundary="----=_Part_0_1792110529.1342397034510"
X-Nonspam: None

------=_Part_0_...
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit 

------=_Part_0_...
Content-Type: image/gif; name=0001.gif
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename=0001.gif

Compte tenu de tous ces éléments, il faut donc.. :

  • Identifier le courrier électronique que l'on souhaite lire (je peux utiliser la date et un répertoire de courrier électronique spécifique) ;
  • Importez le texte de l'e-mail dans Mathematica ;
  • Analyser les informations requises en utilisant les identifiants appropriés dans le fichier ".emix".

Un peu encombrant, mais réalisable.

-1voto

Jon Wood Points 1654

Vous pouvez emprunter différentes voies et il me semble un peu étrange d'essayer d'extraire les informations des données des applications de messagerie qui ont probablement été sauvegardées de manière codée. Si vous voulez essayer, vous pouvez trouver les données dans le fichier caché /Nom d'utilisateur/Bibliothèque. Vous devriez pouvoir y accéder via le Terminal.

Puisque vous êtes flexible quant au type de langage à utiliser, je vous recommande vivement d'utiliser Python et d'accéder au serveur de messagerie via imap (ou pop3) et de rechercher les informations que vous souhaitez de cette manière.

http://docs.Python.org/library/imaplib.html#module-imaplib

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X