2010-01-09 3 views
2

Outlook 메일을 C#을 통한 첨부 파일과 함께 msg 형식으로 저장하려고했습니다. 메일 양식 Outlook 첨부 파일을 저장하는 방법은 무엇입니까?

나는 그것은 MSG로 메일을 절약 할 수 있지만, 첨부 부분이 제거 된 다음 코드를

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); 
} 

} 

을 시도했다. 다른 이름으로 저장 방법은 ALOS 다른 오버로드 ... :(

내가 그것에 포함 된 첨부 파일과 함께 메시지를 저장 전망에서 메시지를 저장하려고하면이 없었다. 어떤 생각이 달성 할 수있는 방법 ..?

나는 당신이 별도로 저장해야 할 것이라고 믿는다 닷넷 프레임 워크 3.5 및 Outolook 2007

답변

0

을 사용하고 있습니다.

사용는 MailItem에 첨부 속성이 그들을 통해 모든 첨부. 다음 루프를 얻을 전화 SaveAsFile() 각 첨부 파일에 대해

아래 링크에서

예는 기본위한 것입니다,하지만 C#으로 작업뿐만 아니라

는 MailItem : 첨부 파일 한다 http://msdn.microsoft.com/en-us/library/bb207129.aspx

첨부 파일 : 당신이 파일 이름으로 사용하고있는 SaveAsFile http://msdn.microsoft.com/en-us/library/bb219926.aspx

+0

예, 가능합니다 ... 동의합니다. 하지만 첨부 파일이 메일에 포함 된 채로 남아있는 방법을 찾고있었습니다. Outlook이 .msg 파일을 저장하는 방법을 고려하십시오. 첨부 파일은 파일의 임베디드 요소로 남아 있습니다 ... 그 어떤 아이디어 ..? – Amit

2

? .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); 
    } 
} 

나는 귀하의 경우 너무 궁금해서 그 이유는

나는 이런 일을하고 당신이 설명하는대로 당신이 너무 원하는 작동 : 첨부 파일을 저장하지 않고 메일 항목을 저장 하시겠습니까?

관련 문제