0

我正在尝试以编程方式将成员(姓名和电子邮件地址)添加到现有的 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 对象。我在任何地方都找不到如何使用名称和电子邮件地址创建它。

4

1 回答 1

0

如果知道 DL 名称,请使用MAPIFolder.Items.Item("The name of the DL")打开它。通过条目 id (Namespace.GetItemFromID) 打开是一个更好的选择,但您需要知道 EntryID 属性的值。

要创建临时收件人,请使用 Namespace.CreateRecipient,后跟 Recipient.Resolve。

如果使用Redemption是一个选项,RDODistListItem对象公开 AddMemberEx 方法(允许添加一次性电子邮件地址)和 AddContact 方法(允许添加联系人或通讯组列表)。

于 2014-04-15T16:59:14.603 回答