Как открыть новое почтовое окно Outlook с предварительно заполненным вложением

Мне нужно открыть новое окно электронной почты с предварительно заполненным вложением, когда пользователь нажимает на какую-либо кнопку или ссылку в моем приложении.

Ответ 1

Старый вопрос, но я также столкнулся с этим, поэтому здесь вы можете скопировать и вставить решение:

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

oMsg.Subject = "subject something";
oMsg.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML;
oMsg.HTMLBody = "text body"; //Here comes your body;
oMsg.Attachments.Add("c:/temp/test.txt", Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing);
oMsg.Display(false); //In order to display it in modal inspector change the argument to true

Вам нужно добавить ссылку на компонент Microsoft.Office.Interop.Outlook в вашем проекте.

Ответ 2

вы можете сделать это, используя сервисы interop outlook

using Outlook = Microsoft.Office.Interop.Outlook;

 Outlook.MailItem mail = Application.CreateItem(
        Outlook.OlItemType.olMailItem) as Outlook.MailItem;
    mail.Subject = "Quarterly Sales Report FY06 Q4";
    Outlook.AddressEntry currentUser =
        Application.Session.CurrentUser.AddressEntry;
    if (currentUser.Type == "EX")
    {
        Outlook.ExchangeUser manager =
            currentUser.GetExchangeUser().GetExchangeUserManager();
        // Add recipient using display name, alias, or smtp address
        mail.Recipients.Add(manager.PrimarySmtpAddress);
        mail.Recipients.ResolveAll();
        mail.Attachments.Add(@"c:\sales reports\fy06q4.xlsx",
            Outlook.OlAttachmentType.olByValue, Type.Missing,
            Type.Missing);
        mail.Send();
    }

Рабочий пример можно найти здесь..

Ответ 3

Я столкнулся с ситуацией, когда мне нужно разработать решение в Outlook, где пользователь нажимает новую кнопку электронной почты и появляется новое окно электронной почты, и пользователь пытается вставить вложение, перетащив файл или вставив вставку. В окне списка вложений должно быть перед добавлением его в качестве Да/Нет. Если пользователь нажимает "да", тогда он идет так, как ожидается, добавляется добавление вложений, если "НЕТ" ничего не нужно добавлять.