La noticia del día es que el FBI ha analizado en 8 días 650.000 mensajes de correo electrónico (WIRED) relacionados con Hillary Clinton para concluir que no ha encontrado ninguna prueba. Donald Trump ha dicho que es imposible hacerlo (noticia en www.politico.com).
Como perito judicial informático puedo afirmar que el FBI tiene razón. Analizar miles de elementos (correos electrónicos, mensajes de WhatsApp, registros de impresión, logs de cualquier tipo, trazas de red, etc.) es una actividad muy habitual en nuestro trabajo. Intentar hacerlo de forma manual es inútil. Los peritos solemos utilizar herramientas especializadas que permiten automatizar búsquedas en grandes volúmenes de datos. Por ejemplo, si tenemos que extraer e-mails de un archivo contenedor podemos usar «Paraben email examinator» que soporta casi todos los formatos conocidos. Para otros tipos de archivos más heterogéneos se puede usar una herramienta como Bulk Extractor, que se encarga de localizar datos relevantes dentro de grandes volúmenes de información, por ejemplo dentro de una imagen de un disco o los logs de un servidor Web.
Por cierto, la metodología para analizar correos electrónicos la describí hace unos meses en este artículo: Autenticidad de e-mail (I). Metodología.
A menudo lo más eficaz es programar un script sencillo que automatice la búsqueda de la información relevante o que convierta información desestructurada en información estructurada sobre la que trabajar más cómodamente. Por ejemplo, la información contenida en una base de datos o en una hoja de cálculo está mejor preparada para realizar búsquedas automáticas. El script que incluyo al final de esta entrada es una macro VB para Excel que accede a los mensajes de correo electrónico almacenados en Outlook (se indica la carpeta de Outlook que contiene los e-mails, en mi ejemplo es «Seleccion-informe_462»). Una vez localizada la carpeta, el script recorre todos los mensajes y rellena la hoja Excel con los campos indicados: en este ejemplo, sólo necesitaba la fecha y hora del envío, el «Message-ID» del mensaje, remitente y destinatarios. Este mismo script se puede usar para extraer cualquier otra información del mensaje (en este enlace están todas las propiedades del objeto MailItem: https://msdn.microsoft.com/es-es/library/office/ff861252.aspx); a partir de aquí, es fácil descartar los mensajes irrelevantes y filtrar los relevantes.
En resumen: Sí se pueden analizar 650.000 e-mails en 8 días usando, claro, programas informáticos. En mi caso, el script que presento sirvió para localizar 450 mensajes relevantes entre cerca de 50.000 mensajes archivados. El script me permitió hacer la selección sin tener que leer los 50.000 mensajes extraídos. Eso sí, tuve que imprimir los 450 mensajes que posteriormente se presentaron en el juicio.
Sub GetFromInbox() Dim olApp As Outlook.Application Dim olNs As Namespace Dim Fldr As MAPIFolder Dim olMail As MailItem Dim acc As Outlook.PropertyAccessor Dim PR_INTERNET_MESSAGE_ID, PR_MID As String Dim str As String Dim uni() As Byte Dim i As Integer PR_INTERNET_MESSAGE_ID = "http://schemas.microsoft.com/mapi/proptag/0x1035001E" PR_INTERNET_MESSAGE_ID_W = "http://schemas.microsoft.com/mapi/proptag/0x1035001F" PR_MID = "http://schemas.microsoft.com/mapi/proptag/x8027001F" Set olApp = New Outlook.Application Set olNs = olApp.GetNamespace("MAPI") Set Fldr = olNs.Folders("Seleccion-informe_462").Folders("Cotejar Contenido") i = 1 For Each olMail In Fldr.Items ActiveSheet.Cells(i, 1).Value = olMail.ReceivedTime ActiveSheet.Cells(i, 2).Value = CDbl(olMail.ReceivedTime) Set acc = olMail.PropertyAccessor str = acc.GetProperty(PR_INTERNET_MESSAGE_ID_W) ActiveSheet.Cells(i, 3).Value = olMail.EntryID ActiveSheet.Cells(i, 4).Value = str ActiveSheet.Cells(i, 5).Value = olMail.SenderEmailAddress ActiveSheet.Cells(i, 6).Value = olMail.TO ActiveSheet.Cells(i, 7).Value = olMail.CC i = i + 1 ' End If Next olMail Set Fldr = Nothing Set olNs = Nothing Set olApp = Nothing End Sub
El script está basado en información de StackOverflow: http://stackoverflow.com/questions/23746344/excel-vba-code-to-retrieve-e-mails-from-outlook