как сохранить почтовую форму outlook с вложениями? - PullRequest
2 голосов
/ 09 января 2010

Я хотел сохранить почту Outlook в формате msg вместе с вложением через C #.

Я попробовал следующий код

using Outlook = Microsoft.Office.Interop.Outlook;

private void button1_Click(object sender, EventArgs e)
{  

Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
Outlook.NameSpace ns = app.GetNamespace("MAPI");
Outlook.MAPIFolder inbox = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

foreach (Outlook.MailItem item in inbox.Items)
{
  item.SaveAs(finename, Outlook.OlSaveAsType.olMSG);
}

}

Это может сохранить почту как сообщение, но часть вложения была удалена. Метод SaveAs не имел других перегрузок alos ...: (

Если я пытаюсь сохранить сообщение из внешнего вида, оно сохраняет сообщение вместе со вложенным в него вложением. Любая идея, как это может быть достигнуто ..?

Я использую .Net Framework 3.5 и Outolook 2007

Ответы [ 2 ]

2 голосов
/ 22 июля 2010

Что вы используете в качестве имени файла? это заканчивается .msg?

Я делаю что-то подобное, и это работает так, как вы описываете, вы тоже этого хотите:

Outlook.MailItem msg;
foreach (object obj in f.Mapi.Items)
{
    try
    {                        
         msg = obj as Outlook.MailItem;
         // ... set file name using message attributes
         // string fullPath = "something" + ".msg"
         msg.SaveAs(fullPath, Outlook.OlSaveAsType.olMSG);
     }
 }

Причина, по которой мне так любопытно в вашем случае, заключается в том, что мне интересно, как я могу воспроизвести то, что вы делаете: сохранение почтового отправления без сохранения вложений?

0 голосов
/ 09 января 2010

Я считаю, что вам придется сохранять их отдельно.

Используйте свойство Attachments в MailItem, чтобы получить все вложения. затем переберите их и вызовите SaveAsFile () для каждого из вложений.

Примеры в приведенной ниже ссылке приведены для базового уровня, но также должны работать и в C #

MailItem :: Вложения http://msdn.microsoft.com/en-us/library/bb207129.aspx

Приложение :: SaveAsFile http://msdn.microsoft.com/en-us/library/bb219926.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...