2016-06-08 6 views
1

Я застрял в этом. Вот мой пример кода. Я хочу создать почтовый элемент и связать его с базой данных, как почтовое сообщение. , а затем я хочу ответить на него с помощью шаблона ответа Outlook. добавление из :, to :, этой горизонтальной линии и т. д. выше theoriginal почта .. но это не работает для созданной почты, как „Globals.ThisAddIn.Application.CreateItem (OlItemType.olMailItem) как MailItem“MailItem.Reply() с недавно созданным MailItem дает сообщение «Не удалось отправить почту». Ошибка

MailItem.Reply() работает прекрасно, когда MailItem является одним из Globals.ThisAddIn.Application.ActiveExplorer(). Элементы выбора что мне здесь не хватает?

спасибо ..

  MailItem oItem = Globals.ThisAddIn.Application.CreateItem(OlItemType.olMailItem) as MailItem; 
      oItem.Body = "..."; 
      oItem.To = "[email protected]"; 
      oItem.CC = "[email protected]"; 
      oItem.Subject = "...."; 
      MailItem response = oItem.Reply(); 

Коды ошибок Здесь: исключение типа 'System.Runtime.InteropServices.COMException' произошло в HMOutlookAddIn.dll, но не был обработан в пользовательском коде

Дополнительная информация : Не удалось отправить почту.

Код ошибки: -2147352567

ответ

0

Там нет необходимости отвечать на вновь создаваемые элементы. Метод Reply может использоваться только для полученных сообщений.

Вместо этого вам необходимо использовать метод класса MailItem.

mail = OutlookApp.CreateItem(Outlook.OlItemType.olMailItem) 
     as Outlook.MailItem; 
    mail.Subject = "A programatically generated e-mail"; 
    mailRecipients = mail.Recipients; 
    mailRecipient = mailRecipients.Add("Eugene Astafiev"); 
    mailRecipient.Resolve(); 
    if (mailRecipient.Resolved) 
    { 
     mail.Send(); 
    } 
    else 
    { 
     System.Windows.Forms.MessageBox.Show(
      "There is no such record in your address book."); 
    } 

Вы можете найти следующие полезные статьи: