2015-03-27 5 views
0

Я ищу способ отправить электронное письмо в C# через outlook.interop без всплывающих окон или предупреждений о безопасности. Я использую этот код, чтобы получить доверенный объект приложения https://msdn.microsoft.com/en-us/library/office/ff869819.aspx ...Отправка электронной почты с помощью внешнего вида без знания пользователя

private void EmailMessage(string recipient, string subject, string body) 
    { 
     Microsoft.Office.Interop.Outlook.Application application = GetApplication(); 
     Microsoft.Office.Interop.Outlook.MailItem email = (Outlook.MailItem)application.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem); 

     try 
     { 
      email.Subject = subject; 
      email.Body = body; 
      email.To = recipient; 
      ((Outlook._MailItem)email).Send(); 
      _emailConfirmation = true; 
     } 

     catch (System.Runtime.InteropServices.COMException ex) 
     {     
      _emailConfirmation = false; 
     } 
     catch (Exception ex) 
     {    
      _emailConfirmation = false; 
     } 
     finally 
     { 
      //release the objects used to send email after message has been sent\\ 
      if (email != null) 
       System.Runtime.InteropServices.Marshal.ReleaseComObject(email); 
      if (application != null) 
       System.Runtime.InteropServices.Marshal.ReleaseComObject(application); 
     } 
    } 

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

+1

Я предполагаю, что Microsoft сделала это так, что это невозможно по назначению.? –

+2

_ «Отправка электронной почты с помощью outlook ** без знания пользователя ** ... однако она по-прежнему запрашивает пользователя из-за ** диспетчера безопасности Outlook **. Любые идеи для исправления, чтобы пользователь не имел любое прерывание или взаимодействие с мировоззрением "_ - это звучит очень ** озорным ** – MickyD

ответ

0

Для получения дополнительной информации см. http://www.outlookcode.com/article.aspx?id=52. По существу вы можете.

  1. Запустите свой код на машине с обновленной антивирусной программой. В Outlook не отображаются подсказки безопасности.
  2. Используйте расширенный MAPI (только C++ или Delphi) или расширенную оболочку MAPI, такую ​​как Redemption, которая обертывает Extended MAPI и доступна с любого языка.
Смежные вопросы