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。
提前致谢。
答案 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
。