VSTO MailItem。收件人检索C#中的电子邮件地址

时间:2018-12-13 01:16:49

标签: c# email vsto mailitem

背景信息:我正在用C#编写Outlook的外接程序。当用户在Outlook中发送电子邮件时,我想获取在“收件人”,“抄送”和“密件抄送”文本框中列出的电子邮件地址。作为测试,我尝试在新窗口中打印第一个收件人的电子邮件地址。

private void Application_ItemSend(object Item, ref bool Cancel)
{
    if (Item is Outlook.MailItem)
    {

            Outlook.MailItem mailItem = Item as Outlook.MailItem;

            Outlook.Recipients myRecipients = mailItem.Recipients;

            MessageBox.Show(myRecipients(0));
    }
}

Microsoft docs收件人接口状态“使用Recipients(index)(其中index是名称或索引号)返回单个收件人对象。但是,myRecipients(0)调用给我一个错误,指出了预期的方法名称。 / p>

我相信我已经正确地初始化了收件人集合,因为我能够调用myRecipients.Count,它返回电子邮件草稿中列出的正确收件人数目。

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

通常可以通过将索引器放在方括号(而不是问题代码中的圆括号)中来访问收集项...对于Outlook.Recipients,我认为收集不实现此模式,因此您需要使用myRecipients.Item(0)这样的Item方法,其中0是您的索引。