沖電気、Outlookの.msgテンプレートに取り組んでいます。プログラムでそれらを開き、データベースの内容に基づいて値を挿入します。
例次のようにする代わりに、「宛先」フィールドに複数の受信者を追加したい場合は、
mailitem.To = a + ";" + b + ";" + c;
私は以下のことを行います。これは、特にループで実行している場合は、より簡単です。
mailitem.Recipients.add("a");
mailitem.Recipients.add("b");
mailitem.Recipients.add("c");
私の問題は、「CC」フィールドに複数の受信者を追加したいのですが、上記の機能は「To」フィールドでのみ機能します。文字列操作を行わずに「CC」フィールドに複数の受信者を追加するにはどうすればよいですか。
通常、私は受信者をccに追加します。
mailitem.CC = a + ";" + b + ";" + c;
interop.Outlookを使用し、テンプレートからメールアイテムを作成しています。
前もって感謝します。
2つの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();
文書化されているようにRecipientsプロパティを使用します ここ (2番目の例を探してください)。コレクションに多くの人を追加してから、宛先タイプをto
からCC
に変更できます。