Как добавить участника (имя и адрес электронной почты) в существующий список рассылки Outlook с помощью C#
Я пытаюсь программно добавить участника (имя и адрес электронной почты) в существующий список рассылки Outlook, но я могу понять, как его получить. Я нашел много публикаций, описывающих, как создать новый список рассылки Outlook, но ни одного о том, как добавить участника в существующий. Мне удалось получить коллекцию элементов из папки "Контакты", но я не могу получить доступ к списку рассылки Outlook, который мне нужен. Помните, что папка "Контакты" содержит как минимум два разных типа объектов: "Элементы контакта" и "Список рассылки". Есть ли способ просто получить элементы списка рассылки из папки "Контакты"? Любая помощь будет принята с благодарностью. У меня нет кода, достойного публикации.
Я добился определенного прогресса. Теперь у меня есть код ниже:
Outlook.MAPIFolder outlookContactsFolder = outlookNamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts); // Get Contacts folder.
Outlook.Items outlookContactsItems = outlookContactsFolder.Items; // Get the Items collection.
for (int i = 1; i <= outlookContactsItems.Count; i++)
{
if (i == 62)
{
Outlook.DistListItem outlookDistListItem = outlookContactsItems.GetNext();
Outlook.Recipient outlookRecipient = **(Need help creating a Recipient object with a name and email address)**
outlookDistListItem.AddMember(outlookRecipient);
outlookDistListItem.Save();
break;
}
else
{
Outlook.ContactItem outlookContactsItem = outlookContactsItems.GetNext();
}
}
Я знаю, что это не лучший способ, но он работает. Теперь я могу получить доступ к списку рассылки без взрыва кода. Теперь мне нужно добавить нового члена к нему. Я знаю, что могу сделать это с помощью метода AddMember, но он принимает объект Outlook.Recipient. Я не могу найти нигде, как создать его с именем и адресом электронной почты.
1 ответ
Если знаете имя DL, используйте MAPIFolder.Items.Item("The name of the DL")
чтобы открыть это. Открытие по идентификатору записи (Namespace.GetItemFromID) - намного лучший вариант, но вам необходимо знать значение свойства EntryID.
Чтобы создать временного получателя, используйте Namespace.CreateRecipient, а затем Recipient.Resolve.
Если использование Redemption является опцией, объект RDODistListItem предоставляет метод AddMemberEx (который позволяет добавить одноразовый адрес электронной почты) и метод AddContact (позволяет добавить контакт или список рассылки).