title: Outlook 2007: Reading Pane is not updated when an encrypted Email is imported
body: <p>we use Redemptiontools to develop a Addin for Outlook. At first we create Emailstubs from a Metadataset. When the User select a Mail we load a msg file from the Network and import it into the Emailstub. We dont have any problems in Outlook 2010/2013/2016.</p>
  
  <p>But in Outlook 2007 the reading pane doesnt refresh if the mail has a Signature. I have deselect and reselect the Mail and then i can see the new mail.</p>
  
  <p>Creating the Emailstub from an metadataset:
  </p>
  
  <pre><code>    using (ComObjectWrapper&lt;RDOFolder&gt; rdoFolder = RDOSession.Resource.GetFolderFromID(folderEntryID).WithComCleanup())
      {
              using (ComObjectWrapper&lt;RDOMail&gt; mailstub = rdoFolder.Resource.Items.Add().WithComCleanup())
              {
                      mailstub.Resource.Sent = true;
                      mailstub.Resource.SenderName = metadatamail.SenderName + " ";
                      mailstub.Resource.SenderEmailAddress = metadatamail.SenderEmailAddress + " ";
                      mailstub.Resource.SentOnBehalfOfName = metadatamail.SentOnBehalfOfName + " ";
                      mailstub.Resource.SentOnBehalfOfEmailAddress = metadatamail.SentOnBehalfOfEmailAddress + " ";
                      mailstub.Resource.Subject = metadatamail.Subject + " ";
                      mailstub.Resource.ReceivedTime = metadatamail.ReceivedTime;
                      mailstub.Resource.Body = metadatamail.Body + " ";
                      mailstub.Resource.To = metadatamail.To + " ";
                      mailstub.Resource.ReceivedByName = metadatamail.ReceivedByName + " ";
                      mailstub.Resource.UnRead = metadatamail.UnRead;
                      if (metadatamail.ContainsAttachments)
                      {
                          var Attach = mailstub.Resource.Attachments.Add(new char[0]);
                          Attach.FileName = "Attachment.txt";
                      }
                      mailstub.Resource.Save();
              }
      }
  </code></pre>
  
  <p>Importing the msg file in the selection change Event of the Explorer (expl):
  </p>
  
  <pre><code>    void expl_SelectionChange()
      {
          using (var selection = expl.Selection.WithComCleanup())
          {
              foreach (var item in selection.Resource)
              {
                  if (item is Outlook.MailItem)
                  {
                      string entryID = (item as Outlook.MailItem).EntryID;
                      GC.Collect();
                      GC.WaitForPendingFinalizers();
                      GC.Collect();
                      GC.WaitForPendingFinalizers();
                      if (!string.IsNullOrEmpty(entryID))
                      {
                          using (var researchEntry = RDOSession.Resource.GetMessageFromID(entryID).WithComCleanup())
                          {
                              string mailpath = GetEmailFromNetwork(entryID);
                              if (!string.IsNullOrEmpty(mailpath))
                              {
                                  Redemption.SafeMailItem sItem = new Redemption.SafeMailItem();
                                  sItem.Item = researchEntry.Resource;
                                  sItem.Import(mailpath, (int)rdoSaveAsType.olMSG);
                                  sItem.ReleaseComObject&lt;Redemption.SafeMailItem&gt;();
                                  researchEntry.Resource.Save();
                              }
                          }
                      }
                  }
              }
          }
      }
  </code></pre>
  
  <p>RDOSession:
  </p>
  
  <pre><code>    private ComObjectWrapper&lt;RDOSession&gt; RDOSession
      {
          get
          {
              try
              {
                  var rdoSession = Activator.CreateInstance(Type.GetTypeFromProgID("Redemption.RDOSession")) as RDOSession;
                  if (rdoSession != null)
                  {
                      rdoSession.MAPIOBJECT = this.Application.Session.MAPIOBJECT;
                      return rdoSession.WithComCleanup();
                  }
              }
              catch { }
              return null;
          }
      }
  </code></pre>
  
  <p>Does anyone have a hint or a solution?</p>