Массовая генерация отчетов в формате PST через C#
Генерируйте электронные сообщения массово и добавляйте их в файл PST через .NET API.
Как генерировать отчеты в формате PST с помощью C#
Для создания отчетов в формате PST мы будем использовать
API, которое является мощным, многофункциональным и простым в использовании API для генерации отчетов на платформе C#. Откройте
менеджер пакетов, найдите Aspose.Email и установите. Вы также можете использовать следующую команду из консоли менеджера пакетов.
Команда консоли менеджера пакетов
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 для .NET подключена в вашем проекте
Пример кода C# для генерации отчетов сообщений PST
// создайте шаблон из MailMessage
MailMessage template = new MailMessage();
// добавьте поле шаблона к теме
template.Subject = "Здравствуйте, #FirstName#";
template.From = new MailAddress("Этот адрес электронной почты защищен от спам-ботов. Вам нужно включить JavaScript, чтобы его увидеть.", "Этот адрес электронной почты защищен от спам-ботов. Вам нужно включить JavaScript, чтобы его увидеть.");
// добавьте поле шаблона к получателю
template.To.Add(new MailAddress("#Receipt#", true));
// добавьте поле шаблона к html-телу
template.HtmlBody = "Уважаемый(ая) #FirstName# #LastName# Дата отправки: #Date#";
// создайте новый TemplateEngine с сообщением шаблона.
var engine = new Email.Tools.Merging.TemplateEngine(template);
// заполните 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"] = "Этот адрес электронной почты защищен от спам-ботов. Вам нужно включить JavaScript, чтобы его увидеть."; dr["First Name"] = "Нэнси"; dr["Last Name:"] = "Даволио"; dr["Date"] = System.DateTime.Now;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Receipt"] = "Этот адрес электронной почты защищен от спам-ботов. Вам нужно включить JavaScript, чтобы его увидеть."; dr["First Name"] = "Эндрю"; dr["Last Name"] = "Фуллер"; dr["Date"] = System.DateTime.Now;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Receipt"] = "Этот адрес электронной почты защищен от спам-ботов. Вам нужно включить JavaScript, чтобы его увидеть."; dr["First Name"] = "Джанет"; dr["Last Name"] = "Леверлинг"; dr["Date"] = System.DateTime.Now;
dt.Rows.Add(dr);
// сопоставьте столбцы
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;
// создайте новый PST
var pst = Email.Storage.Pst.PersonalStorage.Create("storage.pst", Email.Storage.Pst.FileFormatVersion.Unicode);
// добавьте папку в PST
var inboxFolder = pst.RootFolder.AddSubFolder("Входящие");
// создайте сообщения из движка
messages = engine.Instantiate(dt, mappings);
for (int i = 0; i < messages.Count; i++)
{
// сохраните сообщения в формате PST
messages[i].Save(i + ".pst");
inboxFolder.AddMessage(MapiMessage.FromMailMessage(messages[i]));
}
// сохраните в формате PST
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 (также называемые таблицом личных хранилищ), которые хранят различные пользовательские данные. Пользовательская информация хранится в папках различных типов, включая электронные письма, элементы календаря, заметки, контакты и несколько других форматов файлов. PST-файлы используются для архивирования данных электронной почты в оффлайне, которые затем могут быть загружены и просмотрены в различных приложениях.
Read More