2016-05-26 9 views
0

Мне нужно сохранить MailMessage в файл .msg. В этой статье есть решение, но когда я сохраняю файл .msg, он не работает в MS Outlook. Это просто замечательная работа, когда я сохраняю файл as.eml.
How to save MailMessage object to disk as *.eml or *.msg file

Обратите внимание, что я получаю при открытии файла .msg:
Не удается открыть файл: путь. Возможно, файл не существует, у вас может не быть разрешения на его открытие или он может быть открыт в другой программе. Щелкните правой кнопкой мыши папку, содержащую файл, а затем нажмите «Свойства», чтобы проверить ваши разрешения для этой папки.
Благодарим всех.Как сохранить MailMesage в файл .msg?

+0

Где вы сохранили файл? Это C: диск? У вас была возможность проверить разрешения, как описано в сообщении об ошибке? –

+0

@EugeneAstafiev Я сохраняю D :, но это не проблема. Я могу использовать и отправлять файлы, созданные моим приложением. У меня просто проблема с показом вьетнамских персонажей в теме письма. Спасибо. –

ответ

0

Как именно вы создаете файл MSG? Он полностью отличается от файла EML - см. Difference between a .msg file and a .eml file

Формат файла MSG - это двоичный файл IStorage, а его формат - documented. Вы можете проанализировать файл EML (MIME) и скопировать одно свойство одновременно в программно созданный файл MSG.

При использовании Redemption вариант, вы можете использовать Session.CreateMessageFromMsgFile, чтобы создать новый файл MSG и RDOMail метод .Import импортировать существующий файл EML.

set Session = CreateObject("Redemption.RDOSession") 
    set Msg = Session.CreateMessageFromMsgFile("c:\temp\test.msg") 
    Msg.Sent = true '//since Import does not copy this property 
    Msg.Import("c:\temp\test.eml", 1024) ' //1024 is olRfc822 
    Msg.Save 
+0

Я не использую Redemption, и я не хочу использовать сторонние инструменты. Если у вас есть другое решение, пожалуйста, помогите мне. Спасибо. –

+0

Если вы не хотите использовать сторонние продукты, вам необходимо будет обрабатывать MSG-файл и синтаксический анализ MIME-файлов явно в вашем коде. Это может быть сложной задачей. –

+0

Это означает невозможность без использования стороннего программного обеспечения? Надеюсь, вы увидите мою статью, и я с нетерпением жду вашей помощи. Спасибо за Ваш интерес. [Как показать вьетнамских персонажей в файлах почты .msg-файл Outlook (сохранен C#)?] (Http://stackoverflow.com/questions/37451220/how-to-show-vietnamese-characters-in-subjects-mail-msg -file-outlook-saved-by-c) –

0

В Interop Outlook это локально сохраняет почту как .msg.

mailItem.SaveAs(@"c:\path\to\save\mail.msg", Outlook.OlSaveAsType.olMSG); 
Смежные вопросы