Создание списков рассылки Outlook на C#

Списки рассылки электронной почты упрощают отправку одного электронного письма группе людей без указания их индивидуальных идентификаторов электронной почты. Вы можете создать столько списков, сколько необходимо, на основе имеющихся у вас кругов, таких как официальные, социальные и т. д. MS Outlook также позволяет вам создавать списки рассылки, и часто вам может потребоваться создавать такие списки программно. Итак, давайте посмотрим, как создавать и читать списки рассылки MS Outlook в C# .NET.

С# .NET API для создания списков рассылки MS Outlook

Aspose.Email для .NET — это многофункциональный API для создания, отправки и обработки электронных писем. Кроме того, он позволяет работать с различными почтовыми клиентами, включая MS Outlook. Мы будем использовать этот API для создания и чтения списков рассылки Outlook. Вы можете либо скачать библиотеку DLL API, либо установить ее из NuGet с помощью следующей команды.

PM> Install-Package Aspose.Email

Создайте список рассылки в MS Outlook на C#

MS Outlook использует формат PST для хранения информации о списках рассылки. Давайте посмотрим, как создать список рассылки Outlook на C# с помощью Aspose.Email для .NET.

  • Сначала создайте строковые объекты для хранения сведений о членах.
  • Затем создайте PST-файл с помощью метода PersonalStorage.Create() для хранения списка рассылки.
  • После этого создайте новую папку в PST методом PersonalStorage.CreatePredefinedFolder() и задайте ей имя.
  • Затем создайте объект MapiDistributionListMember для каждого члена и инициализируйте его.
  • Создайте новый объект MapiDistributionListMemberCollection и добавьте в него элементы.
  • Назначьте коллекцию объекту MapiDistributionList.
  • Наконец, добавьте список рассылки в папку PST, используя метод FolderInfo.AddMapiMessageItem().

В следующем примере кода показано, как создать список рассылки MS Outlook на C#.

string displayName1 = "Sebastian Wright";
string email1 = "SebastianWright@dayrep.com";

string displayName2 = "Wichert Kroos";
string email2 = "WichertKroos@teleworm.us";

string strEntryId1;
string strEntryId2;

// Создать список рассылки из контактов
using (PersonalStorage personalStorage = PersonalStorage.Create("list.pst", FileFormatVersion.Unicode))
{
    // Добавьте папку контактов в PST
    Aspose.Email.Storage.Pst.FolderInfo contactFolder = personalStorage.CreatePredefinedFolder("Contacts", StandardIpmFolder.Contacts);

    // Создать контакты
    strEntryId1 = contactFolder.AddMapiMessageItem(new MapiContact(displayName1, email1));
    strEntryId2 = contactFolder.AddMapiMessageItem(new MapiContact(displayName2, email2));

    // Создайте коллекцию, чтобы сохранить участников
    MapiDistributionListMember member1 = new MapiDistributionListMember(displayName1, email1);
    member1.EntryIdType = MapiDistributionListEntryIdType.Contact;
    member1.EntryId = Convert.FromBase64String(strEntryId1);

    MapiDistributionListMember member2 = new MapiDistributionListMember(displayName2, email2);
    member2.EntryIdType = MapiDistributionListEntryIdType.Contact;
    member2.EntryId = Convert.FromBase64String(strEntryId1);

    // Добавить участников в коллекцию
    MapiDistributionListMemberCollection members = new MapiDistributionListMemberCollection();
    members.Add(member1);
    members.Add(member2);

    // Создать список
    MapiDistributionList distributionList = new MapiDistributionList("Contact list", members);
    distributionList.Body = "Distribution List Body";
    distributionList.Subject = "Sample Distribution List using Aspose.Email";

    // Добавить список рассылки в PST
    contactFolder.AddMapiMessageItem(distributionList);
}

Чтение списка рассылки MS Outlook на C#

Вы также можете прочитать список рассылки Outlook и получить информацию о контактах. Следующие шаги показывают, как выполнить эту операцию.

В следующем примере кода показано, как читать список рассылки MS Outlook на C#.

// Загрузить PST-файл
MapiMessage message = MapiMessage.Load("list.pst");

// Получить список рассылки
MapiDistributionList dlist = (MapiDistributionList)message.ToMapiMessageItem();

// Получить коллекцию участников
MapiDistributionListMemberCollection members = dlist.Members;

// Прочитать каждый MapiDistributionListMember из коллекции
MapiDistributionListMember member1 = members[0];

Получите бесплатную лицензию API

Вы можете использовать Aspose.Email для .NET без ознакомительных ограничений, получив бесплатную временную лицензию.

Вывод

Список рассылки в MS Outlook позволяет отправить электронное письмо группе людей. В этой статье вы узнали, как создавать списки рассылки MS Outlook на C#. Кроме того, вы увидели, как программно читать списки рассылки Outlook. Кроме того, вы можете узнать больше об API электронной почты .NET, используя документацию. Кроме того, вы можете размещать свои вопросы или запросы на нашем форуме.

Смотрите также