
OLM es un formato de archivo que Microsoft Outlook para Mac utiliza para almacenar datos locales. OLM contiene datos locales como correos electrónicos, archivos adjuntos, notas, datos de calendario, contactos, tareas, historial, etc. Los archivos OLM son utilizados por Outlook para Mac. Outlook para Windows no puede acceder ni abrirlo. La versión de Outlook para Windows solo admite el formato de archivo PST para almacenar datos. En este artículo consideraremos cómo abrir y leer archivos en formato OLM desde aplicaciones C#.
- API C# .NET para leer archivos OLM
- Apertura de archivos en formato OLM
- Obteniendo carpetas
- Lista de correos electrónicos
- Extracción de correos electrónicos
API C# .NET para leer archivos OLM
Aspose.Email para .NET es una API robusta que proporciona una gama de características para implementar aplicaciones de correo electrónico. Además, permite leer archivos OLM y otros formatos de almacenamiento de correo como MBOX, PST/OST. Puede instalar la biblioteca a través de NuGet o descargar su DLL.
PM> Install-Package Aspose.Email
Apertura de archivos en formato OLM
La API Aspose.Email introduce dos formas de abrir archivos en formato OLM:
usando constructor
usando el método estático FromFile
Existen diferencias en el comportamiento entre estos métodos. Vea la sección a continuación.
Apertura de archivos por constructor
Para abrir un archivo, debe llamar al constructor de la clase OlmStorage y pasar el nombre completo del archivo o el flujo como argumento:
Apertura de archivos usando el método estático FromFile
Para abrir un archivo, debe usar el método estático FromFile y pasar el nombre completo del archivo o el flujo como argumento:
Obteniendo carpetas
Después de abrir un archivo usando el constructor, estará accesible la propiedad FolderHierarchy. Esta devuelve una lista de directorios que existen en el archivo OLM. Cada objeto de la clase OlmFolder de la lista tiene la propiedad SubFolders, que devuelve una lista de subcarpetas. Así, tenemos acceso a todos los directorios en OLM.
El ejemplo a continuación muestra la lista de todas las carpetas en orden jerárquico:
Si se abre el archivo utilizando el método FromFile, entonces por defecto la propiedad FolderHierarchy no se inicializará y devolverá null
. En este caso, es necesario llamar explícitamente al método GetFolders:
Además, es posible obtener cualquier carpeta por nombre. Para hacer esto debe:
llamar al método GetFolder
pasar el nombre de la carpeta como primer argumento y un valor que indique si se debe ignorar la sensibilidad a mayúsculas y minúsculas al buscar una carpeta como segundo parámetro.
Lista de correos electrónicos
La clase OlmFolder, que representa una carpeta, tiene los siguientes métodos para obtener una lista de correos electrónicos:
EnumerateMessages implementa la iteración de correos electrónicos en una carpeta. En este caso, cada iteración devuelve un objeto OlmMessageInfo, que proporciona información breve sobre el correo electrónico.
EnumerateMapiMessages, también implementa la iteración de correos electrónicos en una carpeta, pero en este caso, cada iteración devuelve un objeto MapiMessage, que representa el correo electrónico en sí, con todas sus propiedades.
Usando el método EnumerateMessages
Usando el método EnumerateMapiMessages
Otras propiedades útiles
Además, la clase OlmFolder tiene las propiedades HasMessages y MessageCount, que devuelven la presencia de mensajes en la carpeta y su cantidad:
Extracción de correos electrónicos
La clase OlmStorage tiene el método ExtractMapiMessage, que permite extraer un correo electrónico. Este método recibe un objeto OlmMessageInfo.
Conclusión
En este artículo, aprendió cómo leer archivos OLM en C#. Ha visto las formas de obtener una lista de carpetas y extraer mensajes del archivo OLM. Además, puede aprender más sobre Aspose.Email para .NET utilizando la documentación. También puede compartir sus preguntas o solicitudes en nuestro foro.