2010-06-25 1 views
1

Вот код, который я использую. Я потратил некоторое время на объектах Redemption, но, ничего не выскакивает на меня:Использование Redemption Как добавить подпись по умолчанию к исходящему сообщению электронной почты?

public static bool PopEmail(string domainUserName, string mSubject, string mBody, string mTo, string mCc = "", string mBcc = "", List<String> fileAttachments = null) 
    { 
     log.Info("Starting to Pop Outlook Email Message"); 
     RDOSession oSession = new RDOSession(); 
     try 
     { 
      oSession.LogonExchangeMailbox(domainUserName, string.Empty); 
      if (oSession.LoggedOn) 
      { 
       RDOMail oMail = oSession.GetDefaultFolder(rdoDefaultFolders.olFolderOutbox).Items.Add("IPM.Note"); 
       oMail.Subject = mSubject; 
       oMail.Body = mBody; 
       oMail.To = mTo; 
       oMail.CC = mCc; 
       oMail.BCC = mBcc; 
       if (fileAttachments != null) 
       { 
        foreach (string file in fileAttachments) 
        { 
         object newFile = file; 
         oMail.Attachments.Add(newFile, Type.Missing, Type.Missing, Type.Missing); 
         newFile = null; 
        } 
       } 
       oMail.Display(); 
       Marshal.FinalReleaseComObject(oMail); 
       oMail = null; 
      } 
      oSession.Logoff(); 
      Marshal.FinalReleaseComObject(oSession); 
      oSession = null; 
      GC.Collect(); 
      GC.WaitForPendingFinalizers(); 
      log.Info("Outlook Email has been Popped."); 
      return true; 
     } 
     catch (Exception) 
     { 
      log.Error("Outlook Pop Email Failed."); 
      throw; 
     } 
    } 

Спасибо,

ответ

0

Я добавил код для добавления в oMail.HTMLBody, который считывает подпись из папки C: \ Users \ UserName \ AppData \ Roaming \ Microsoft \ Signatures. Этот файл создается через плагин, написанный одним из наших разработчиков, который считывает информацию из Exchange, чтобы определить имя пользователя, название, телефон, факс и т. Д.

0

подпись фактически вставлена ​​объектом инспектор Outlook, на конкретизации, так что если ваш код запускается внутри дополнения Outlook, вы, вероятно, можете попытаться сохранить элемент, а затем снова открыть его из OOM как _MailItem через _Namespace.GetItemFromId, а затем вызвать его метод GetInspector (вам не нужно ничего делать с возвращенной ссылкой инспектора).

Обратите внимание, что я не пробовал это с элементом, созданным с помощью RDO. Обычно я создаю элементы в OOM, а затем создаю обертку RDO.

Если ваш код работает вне Outlook, вам нужно будет использовать OLE, чтобы получить ссылку на его объект _Application, а затем потяните объект _Namespace. Если вы используете автономный MAPI без Outlook, функция подписки полностью недоступна.

+0

Я добавил код для добавления в файл oMail.HTMLBody, который считывает подпись из папки C: \ Users \ UserName \ AppData \ Roaming \ Microsoft \ Signatures. Этот файл создается через плагин, написанный одним из наших разработчиков, который считывает информацию из Exchange для определения имени пользователя, названия, телефона, факса и т. Д. Спасибо за ваш ответ. – ElMatador

Смежные вопросы