如何将多个收件人添加到mailitem.cc字段c#

时间:2013-05-22 12:32:58

标签: c# outlook interop visual-studio-2005 office-2007

Oki,所以我正致力于开发.msg模板。 以编程方式打开它们,根据我的数据库中的内容插入值。

离。当我想在“收件人”字段中添加多个reciepients时,而不是按照以下方式执行,

   mailitem.To = a + ";" + b + ";" + c;

我在下面做什么,这更简单,特别是当我在循环中这样做时。

   mailitem.Recipients.add("a");
   mailitem.Recipients.add("b");
   mailitem.Recipients.add("c");

我的问题是,我还想在“CC”字段添加多个收件人,上面的功能仅适用于“收件人”字段。如何将多个收件人添加到“CC”字段,而无需进行字符串操作。

通常我会将收件人添加到cc,就像这样,

   mailitem.CC = a + ";" + b + ";" + c;

我正在使用interop.outlook并从模板创建mailitem。

提前致谢。

2 个答案:

答案 0 :(得分:13)

假设您有两个List收件人,那么您可以这样做。

修改:包含完整代码。

var oApp = new Microsoft.Office.Interop.Outlook.Application();
var oMsg = (MailItem) oApp.CreateItem(OlItemType.olMailItem);

Recipients oRecips = oMsg.Recipients;
List<string> sTORecipsList = new List<string>();
List<string> sCCRecipsList = new List<string>();

sTORecipsList.Add("ToRecipient1");

sCCRecipsList.Add("CCRecipient1");
sCCRecipsList.Add("CCRecipient2");
sCCRecipsList.Add("CCRecipient3");

Recipients oRecips = oMsg.Recipients;

foreach (string t in sTORecipsList)
{
    Recipient oTORecip = oRecips.Add(t);
    oTORecip.Type = (int) OlMailRecipientType.olTo;
    oTORecip.Resolve();
}

foreach (string t in sCCRecipsList)
{
    Recipient oCCRecip = oRecips.Add(t);
    oCCRecip.Type = (int) OlMailRecipientType.olCC;
    oCCRecip.Resolve();
}

oMsg.HTMLBody = "Test Body";
oMsg.Subject = "Test Subject";
oMsg.Send();

答案 1 :(得分:3)

使用文档here中的Recipients属性(查找第二个示例)。您可以将很多人添加到集合中,然后将目标类型从to更改为CC