RDOMail.SaveAs sometimes doesn't work over a UNC












0














I have a C# Outlook add-in that is using the Redemption library.



This add-in, among other things, copy the selected mail to a share somewhere on the network.



It usually works pretty well but sometimes, the .msg file on the share seems to be corrupted. It cannot be read by the service that tries to process it. Double clicking on it shows this message: "Cannot read the item".



Sometimes, I can see an error message:




SaveEmail - System.Runtime.InteropServices.COMException (0x8007000):
Error in StgCreateDocFile: 0x8007000 at
Redemption.IRDOMail.SaveAs(String Path, Object Type) at
XYZNameSpace.Email.SaveEmail(...)




Here the code that save the mail to the share:



// Save the mail in a temp local file first
mailItem.SaveAs(temppath, Outlook.OlSaveAsType.olMSG);
(... some processing ...)
// Reload the mail
RDOMail rm = rdoSession.GetMessageFromMsgFile(temppath);
// Save it again on a share
rm.SaveAs(filePathName, Outlook.OlSaveAsType.olMSG);



  • Note 1 : I don't know why the mail is first saved locally!

  • Note 2 : It is using an older version of Redemption (2015).

  • Note 3 : The size of the message doesn't seem important. However, they are


usually between 2 and 15 MB.



Many thanks in advance.










share|improve this question





























    0














    I have a C# Outlook add-in that is using the Redemption library.



    This add-in, among other things, copy the selected mail to a share somewhere on the network.



    It usually works pretty well but sometimes, the .msg file on the share seems to be corrupted. It cannot be read by the service that tries to process it. Double clicking on it shows this message: "Cannot read the item".



    Sometimes, I can see an error message:




    SaveEmail - System.Runtime.InteropServices.COMException (0x8007000):
    Error in StgCreateDocFile: 0x8007000 at
    Redemption.IRDOMail.SaveAs(String Path, Object Type) at
    XYZNameSpace.Email.SaveEmail(...)




    Here the code that save the mail to the share:



    // Save the mail in a temp local file first
    mailItem.SaveAs(temppath, Outlook.OlSaveAsType.olMSG);
    (... some processing ...)
    // Reload the mail
    RDOMail rm = rdoSession.GetMessageFromMsgFile(temppath);
    // Save it again on a share
    rm.SaveAs(filePathName, Outlook.OlSaveAsType.olMSG);



    • Note 1 : I don't know why the mail is first saved locally!

    • Note 2 : It is using an older version of Redemption (2015).

    • Note 3 : The size of the message doesn't seem important. However, they are


    usually between 2 and 15 MB.



    Many thanks in advance.










    share|improve this question



























      0












      0








      0







      I have a C# Outlook add-in that is using the Redemption library.



      This add-in, among other things, copy the selected mail to a share somewhere on the network.



      It usually works pretty well but sometimes, the .msg file on the share seems to be corrupted. It cannot be read by the service that tries to process it. Double clicking on it shows this message: "Cannot read the item".



      Sometimes, I can see an error message:




      SaveEmail - System.Runtime.InteropServices.COMException (0x8007000):
      Error in StgCreateDocFile: 0x8007000 at
      Redemption.IRDOMail.SaveAs(String Path, Object Type) at
      XYZNameSpace.Email.SaveEmail(...)




      Here the code that save the mail to the share:



      // Save the mail in a temp local file first
      mailItem.SaveAs(temppath, Outlook.OlSaveAsType.olMSG);
      (... some processing ...)
      // Reload the mail
      RDOMail rm = rdoSession.GetMessageFromMsgFile(temppath);
      // Save it again on a share
      rm.SaveAs(filePathName, Outlook.OlSaveAsType.olMSG);



      • Note 1 : I don't know why the mail is first saved locally!

      • Note 2 : It is using an older version of Redemption (2015).

      • Note 3 : The size of the message doesn't seem important. However, they are


      usually between 2 and 15 MB.



      Many thanks in advance.










      share|improve this question















      I have a C# Outlook add-in that is using the Redemption library.



      This add-in, among other things, copy the selected mail to a share somewhere on the network.



      It usually works pretty well but sometimes, the .msg file on the share seems to be corrupted. It cannot be read by the service that tries to process it. Double clicking on it shows this message: "Cannot read the item".



      Sometimes, I can see an error message:




      SaveEmail - System.Runtime.InteropServices.COMException (0x8007000):
      Error in StgCreateDocFile: 0x8007000 at
      Redemption.IRDOMail.SaveAs(String Path, Object Type) at
      XYZNameSpace.Email.SaveEmail(...)




      Here the code that save the mail to the share:



      // Save the mail in a temp local file first
      mailItem.SaveAs(temppath, Outlook.OlSaveAsType.olMSG);
      (... some processing ...)
      // Reload the mail
      RDOMail rm = rdoSession.GetMessageFromMsgFile(temppath);
      // Save it again on a share
      rm.SaveAs(filePathName, Outlook.OlSaveAsType.olMSG);



      • Note 1 : I don't know why the mail is first saved locally!

      • Note 2 : It is using an older version of Redemption (2015).

      • Note 3 : The size of the message doesn't seem important. However, they are


      usually between 2 and 15 MB.



      Many thanks in advance.







      outlook outlook-redemption






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 19 '18 at 12:13

























      asked Nov 16 '18 at 16:27









      Sylvain Rodrigue

      3,20143653




      3,20143653
























          1 Answer
          1






          active

          oldest

          votes


















          1














          IStorage API does not really like remote drives - there is no way for the storage sharing features to work.



          Opening and saving the message the second time really does not make much sense - why not simply copy the MSG file using the file system API?






          share|improve this answer





















          • I will most certainly rewrite this part and replace the save on the remote drive by a simple file copy. Can you explain what you mean by "there is no way for the storage sharing features to work"? Thank a lot Dmitry.
            – Sylvain Rodrigue
            Nov 19 '18 at 10:03










          • COM system allows to share IStorage files between different processes. But it only works for the local drives.
            – Dmitry Streblechenko
            Nov 19 '18 at 15:59











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53341846%2frdomail-saveas-sometimes-doesnt-work-over-a-unc%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          IStorage API does not really like remote drives - there is no way for the storage sharing features to work.



          Opening and saving the message the second time really does not make much sense - why not simply copy the MSG file using the file system API?






          share|improve this answer





















          • I will most certainly rewrite this part and replace the save on the remote drive by a simple file copy. Can you explain what you mean by "there is no way for the storage sharing features to work"? Thank a lot Dmitry.
            – Sylvain Rodrigue
            Nov 19 '18 at 10:03










          • COM system allows to share IStorage files between different processes. But it only works for the local drives.
            – Dmitry Streblechenko
            Nov 19 '18 at 15:59
















          1














          IStorage API does not really like remote drives - there is no way for the storage sharing features to work.



          Opening and saving the message the second time really does not make much sense - why not simply copy the MSG file using the file system API?






          share|improve this answer





















          • I will most certainly rewrite this part and replace the save on the remote drive by a simple file copy. Can you explain what you mean by "there is no way for the storage sharing features to work"? Thank a lot Dmitry.
            – Sylvain Rodrigue
            Nov 19 '18 at 10:03










          • COM system allows to share IStorage files between different processes. But it only works for the local drives.
            – Dmitry Streblechenko
            Nov 19 '18 at 15:59














          1












          1








          1






          IStorage API does not really like remote drives - there is no way for the storage sharing features to work.



          Opening and saving the message the second time really does not make much sense - why not simply copy the MSG file using the file system API?






          share|improve this answer












          IStorage API does not really like remote drives - there is no way for the storage sharing features to work.



          Opening and saving the message the second time really does not make much sense - why not simply copy the MSG file using the file system API?







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 16 '18 at 17:05









          Dmitry Streblechenko

          42.3k32760




          42.3k32760












          • I will most certainly rewrite this part and replace the save on the remote drive by a simple file copy. Can you explain what you mean by "there is no way for the storage sharing features to work"? Thank a lot Dmitry.
            – Sylvain Rodrigue
            Nov 19 '18 at 10:03










          • COM system allows to share IStorage files between different processes. But it only works for the local drives.
            – Dmitry Streblechenko
            Nov 19 '18 at 15:59


















          • I will most certainly rewrite this part and replace the save on the remote drive by a simple file copy. Can you explain what you mean by "there is no way for the storage sharing features to work"? Thank a lot Dmitry.
            – Sylvain Rodrigue
            Nov 19 '18 at 10:03










          • COM system allows to share IStorage files between different processes. But it only works for the local drives.
            – Dmitry Streblechenko
            Nov 19 '18 at 15:59
















          I will most certainly rewrite this part and replace the save on the remote drive by a simple file copy. Can you explain what you mean by "there is no way for the storage sharing features to work"? Thank a lot Dmitry.
          – Sylvain Rodrigue
          Nov 19 '18 at 10:03




          I will most certainly rewrite this part and replace the save on the remote drive by a simple file copy. Can you explain what you mean by "there is no way for the storage sharing features to work"? Thank a lot Dmitry.
          – Sylvain Rodrigue
          Nov 19 '18 at 10:03












          COM system allows to share IStorage files between different processes. But it only works for the local drives.
          – Dmitry Streblechenko
          Nov 19 '18 at 15:59




          COM system allows to share IStorage files between different processes. But it only works for the local drives.
          – Dmitry Streblechenko
          Nov 19 '18 at 15:59


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53341846%2frdomail-saveas-sometimes-doesnt-work-over-a-unc%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

          ComboBox Display Member on multiple fields

          Is it possible to collect Nectar points via Trainline?