Microsoft Outlook добавляет копию в электронную почту

В настоящее время у меня есть код, который автоматизирует и отправляет файлы по электронной почте. Теперь мне нужно добавить cc. Я просмотрел все, но не могу найти мой существующий код. Любая помощь будет принята с благодарностью. Спасибо.

         private void button13_Click(object sender, EventArgs e)
    {
        //Send Routing and Drawing to Dan
        // Create the Outlook application by using inline initialization. 
        Outlook.Application oApp = new Outlook.Application();
        //Create the new message by using the simplest approach. 
        Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
        //Add a recipient
        Outlook.Recipient oRecip = (Outlook.Recipient)oMsg.Recipients.Add("[email protected]");
        oRecip.Resolve();
        //Set the basic properties. 
        oMsg.Subject = "Job # " + textBox9.Text + " Release (" + textBox1.Text + ")";
        oMsg.HTMLBody = "<html><body>";
        oMsg.HTMLBody += "Job # " + textBox9.Text + " is ready for release attached is the Print and Routing (" + textBox1.Text + ")";
        oMsg.HTMLBody += "<p><a href='C:\\Users\\RussellS\\Desktop\\Russell Eng Reference\\" + textBox1.Text + ".PDF'>" + textBox1.Text + " Drawing";
        oMsg.HTMLBody += "<p><a href='C:\\Users\\RussellS\\Desktop\\" + textBox1.Text + ".PDF'>" + textBox1.Text + " Routing" + "</a></p></body></html>";
        //Send the message
        oMsg.Send();
        //Explicitly release objects. 
        oRecip = null;
        oMsg = null;
        oApp = null;
        MessageBox.Show(textBox1.Text + " Print and Routing Sent");
    }

person Russell Saari    schedule 12.09.2011    source источник


Ответы (2)


Согласно MSDN, в классе MailItem есть свойство CC.

string CC { get; set; }

Который можно использовать для установки имен получателей CC.

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook._mailitem.cc.aspx

Чтобы изменить получателей, вы можете добавить их в коллекцию Recipients:

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.recipients.aspx

Который вы бы использовали как:

oMsg.Recipients.Add("[email protected]");
person Jamie Dixon    schedule 12.09.2011
comment
на самом деле это работает, но добавляет к TO: в Outlook, а не к копиям, так что мне как-то нужно где-то вставлять CC в строку? - person Russell Saari; 12.09.2011
comment
Насколько мне известно, будет достаточно установить свойство CC с именами получателей CC на что-то, совпадающее с получателем в коллекции Recipients. - person Jamie Dixon; 12.09.2011
comment
Я знаю, что этот ответ был принят, я просто хотел добавить, что Microsoft рекомендует вам манипулировать получателями через коллекцию получателей. Свойства To, CC и BCC следует использовать только для чтения получателей. Чтобы установить получателя копии, вы должны установить для свойства Type значение olCC (или olBCC для получателей скрытой копии) сразу после приведенного выше кода Джейми, который добавляет нового получателя. - person JimmyPena; 14.09.2011

Пожалуйста, следуйте этому коду для добавления CC и BCC:

private void SetRecipientTypeForMail()
{
    Outlook.MailItem mail = Application.CreateItem(
        Outlook.OlItemType.olMailItem) as Outlook.MailItem;
    mail.Subject = "Sample Message";
    Outlook.Recipient recipTo =
        mail.Recipients.Add("[email protected]");
    recipTo.Type = (int)Outlook.OlMailRecipientType.olTo;
    Outlook.Recipient recipCc =
        mail.Recipients.Add("[email protected]");
    recipCc.Type = (int)Outlook.OlMailRecipientType.olCC;
    Outlook.Recipient recipBcc =
        mail.Recipients.Add("[email protected]");
    recipBcc.Type = (int)Outlook.OlMailRecipientType.olBCC;
    mail.Recipients.ResolveAll();
    mail.Display(false);
}
person SHUBHAM GOEL    schedule 21.02.2019