我有一個C#應用程序讀取.msg文件並提取正文和附件。但是當我嘗試加載.eml文件時,應用程序崩潰。我正在加載這樣的文件:如何在C#中使用Outlook MAPI打開.eml文件?
MailItem mailItem = (MailItem)outlookApp.CreateItemFromTemplate(msgFileName);
mailItem.SaveAs(fullFilename, OlSaveAsType.olHTML); // save body in html format
for(int i = 0; i < mailItem.Attachments.Count; i++)
mailItem.Attachments[i].SaveAsFile(filename); // save attachments
這適用於.msg文件,但它不適用於.eml文件。我不明白爲什麼.eml文件不起作用,因爲我可以在Outlook 2010中打開.eml文件。
如何使用Outlook Primary Interop Assembly加載.eml文件?
爲什麼你需要使用MAPI來加載.eml文件?由於.eml文件只是一個MIME消息,因此自己解析它不應太困難(在CodePlex中搜索MIME解析器)。在這方面有什麼特定的需求嗎? – 2011-05-18 21:54:44
這是因爲我有一個應用程序與MAPI分裂.msg文件,我認爲我不需要做一個更改並打開我的.eml文件,就像我用.msg文件做的那樣,而無需編寫新的代碼。 – CubaLibre 2011-07-07 13:29:01