Массовая генерация отчетов в формате PST с помощью C#
Генерировать электронные сообщения пакетно и добавлять их в файл PST через .NET API.
Как создавать отчёты на основе PST с использованием C#
Для создания PST‑отчетов мы будем использовать
API, представляющий собой богатый функциями, мощный и простой в использовании API для генерации отчетов на платформе C#. Откройте
В менеджере пакетов найдите Aspose.Email и установите. Вы также можете использовать следующую команду в консоли Package Manager.
Команда консоли менеджера пакетов
PM> Install-Package Aspose.Email
Шаги по сборке PST с помощью C#
- Создать шаблон как MailMessage и добавить динамические поля
- Создать источник данных и сопоставление
- Инициализировать TemplateEngine, используя объект MailMessage
- Вызвать метод TemplateEngine.Instantiate для пакетного создания сообщений
- Создать новый PST с помощью метода PersonalStorage.Create
- Добавить папку в PST
- Добавлять сообщения из TemplateEngine в папку с помощью метода FolderInfo.Add
- Сохранить в формате PST
Системные требования
Aspose.Email для .NET поддерживается на всех основных операционных системах. Просто убедитесь, что у вас есть следующие предварительные требования.
- Microsoft Windows или совместимая ОС с .NET Framework, .NET Core и Xamarin
- Среда разработки, например Microsoft Visual Studio
- Aspose.Email for .NET, указанный в вашем проекте
Пример кода C# для генерации отчетов сообщений в формате 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);
Об API Aspose.Email для .NET
Aspose.Email — это решение для разбора форматов Microsoft Outlook и Thunderbird. С его помощью можно легко создавать, изменять и конвертировать форматы электронной почты и хранилищ, такие как MSG, EMLX, EML и MHT. Обработка вложений, настройка заголовков сообщений и реализация различных сетевых протоколов, таких как POP3, IMAP и SMTP для отправки и получения писем, становятся гораздо проще. Это независимое API и не требует установки Microsoft Outlook или любого другого программного обеспечения.Бесплатное приложение для сборки PST
Посмотрите наши живые демонстрации, чтобы создавать PST файлы со следующими преимуществами.
PST What is PST File Format
Файлы с расширением .PST представляют собой Outlook Personal Storage Files (также называемые Personal Storage Table), которые хранят разнообразную пользовательскую информацию. Информация пользователей хранится в папках разных типов, включая электронные письма, элементы календаря, заметки, контакты и несколько других форматов файлов. PST‑файлы используются для офлайн‑архивирования данных электронной почты, которые позже можно загрузить и просмотреть в различных приложениях.
Read More