Generación masiva de informes en formato PST mediante C#
Generar mensajes de correo en masa y añadirlos a un archivo PST mediante la API .NET.
Cómo generar informes basados en PST usando C#
Para crear informes PST, utilizaremos
API que es rica en funciones, potente y fácil de usar para la generación de informes en la plataforma C#. Open
administrador de paquetes, busque Aspose.Email e instale. También puede usar el siguiente comando desde la Consola del Administrador de Paquetes.
Comando de la consola del Administrador de paquetes
PM> Install-Package Aspose.Email
Pasos para ensamblar PST mediante C#
- Crear una plantilla como MailMessage y agregar campos dinámicos
- Crear fuente de datos y asignación
- Inicializar TemplateEngine usando el objeto MailMessage
- Llamar al método TemplateEngine.Instantiate para generar mensajes en masa
- Crear un nuevo PST con el método PersonalStorage.Create
- Agregar carpeta en PST
- Agregar mensajes desde TemplateEngine a la carpeta usando el método FolderInfo.Add
- Guardar en formato PST
Requisitos del sistema
Aspose.Email for .NET es compatible con todos los sistemas operativos principales. Solo asegúrese de tener los siguientes requisitos previos.
- Microsoft Windows o un sistema operativo compatible con .NET Framework, .NET Core y plataformas Xamarin
- Entorno de desarrollo como Microsoft Visual Studio
- Aspose.Email para .NET referenciado en su proyecto
Código de ejemplo en C# para la generación de informes de mensajes PST
// create a template from MailMessage
MailMessage template = new MailMessage();
// add template field to subject
template.Subject = "Hello, #FirstName#";
template.From = new MailAddress("This email address is being protected from spambots. You need JavaScript enabled to view it.", "This email address is being protected from spambots. You need JavaScript enabled to view it.");
// add template field to receipt
template.To.Add(new MailAddress("#Receipt#", true));
// add template field to html body
template.HtmlBody = "Dear #FirstName# #LastName# Sent Date: #Date#";
// create a new TemplateEngine with the template message.
var engine = new Email.Tools.Merging.TemplateEngine(template);
// fill a DataTable
var dt = new System.Data.DataTable();
dt.Columns.Add("Receipt", typeof(string));
dt.Columns.Add("First Name", typeof(string));
dt.Columns.Add("Last Name", typeof(string));
dt.Columns.Add("Date", typeof(DateTime));
System.Data.DataRow dr;
dr = dt.NewRow();
dr["Receipt"] = "This email address is being protected from spambots. You need JavaScript enabled to view it."; dr["First Name"] = "Nancy"; dr["Last Name:"] = "Davolio"; dr["Date"] = System.DateTime.Now;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Receipt"] = "This email address is being protected from spambots. You need JavaScript enabled to view it."; dr["First Name"] = "Andrew"; dr["Last Name"] = "Fuller"; dr["Date"] = System.DateTime.Now;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Receipt"] = "This email address is being protected from spambots. You need JavaScript enabled to view it."; dr["First Name"] = "Janet"; dr["Last Name"] = "Leverling"; dr["Date"] = System.DateTime.Now;
dt.Rows.Add(dr);
// map columns
var mappings = new System.Data.Common.DataColumnMappingCollection();
mappings.Add(new System.Data.Common.DataColumnMapping("Receipt", "Receipt"));
mappings.Add(new System.Data.Common.DataColumnMapping("First Name", "FirstName"));
mappings.Add(new System.Data.Common.DataColumnMapping("Last Name", "LastName"));
mappings.Add(new System.Data.Common.DataColumnMapping("Date", "Date"));
Aspose.Email.MailMessageCollection messages;
// create new PST
var pst = Email.Storage.Pst.PersonalStorage.Create("storage.pst", Email.Storage.Pst.FileFormatVersion.Unicode);
// add folder to PST
var inboxFolder = pst.RootFolder.AddSubFolder("Inbox");
// create messages from engine
messages = engine.Instantiate(dt, mappings);
for (int i = 0; i < messages.Count; i++)
{
// save messages in PST format
messages[i].Save(i + ".pst");
inboxFolder.AddMessage(MapiMessage.FromMailMessage(messages[i]));
}
// save in PST format
pst.SaveAs("output.pst", Email.Storage.Pst.FileFormat.Pst);
Acerca de la API Aspose.Email para .NET
Aspose.Email es una solución de análisis de formatos de Microsoft Outlook y Thunderbird. Se pueden crear, manipular y convertir fácilmente formatos de correo y almacenamiento como MSG, EMLX, EML y MHT. El manejo de archivos adjuntos, la personalización de encabezados de mensajes y la implementación de diferentes protocolos de red como POP3, IMAP y SMTP para enviar y recibir correos electrónicos es mucho más sencillo. Es una API independiente y no requiere Microsoft Outlook ni la instalación de ningún otro software.Aplicación gratuita para ensamblar PST
Consulte nuestras demostraciones en vivo para crear archivos PST con los siguientes beneficios.
PST What is PST File Format
Los archivos con extensión .PST representan los Archivos de Almacenamiento Personal de Outlook (también llamados Personal Storage Table) que almacenan una variedad de información del usuario. La información del usuario se guarda en carpetas de distintos tipos que incluyen correos electrónicos, elementos de calendario, notas, contactos y varios otros formatos de archivo. Los archivos PST se utilizan para archivar datos de correo de forma offline, los cuales pueden cargarse y visualizarse posteriormente en diversas aplicaciones.
Read More