2017-09-08 2 views
0

다음은받은 편지함에서 다른 폴더로 메일을 이동시키는 코드입니다.Outlook 메일이 실제로 다른 폴더로 이동하지 않음

Microsoft.Office.Interop.Outlook.MAPIFolder inboxFolder = null; 
inboxFolder = ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox); 
Microsoft.Office.Interop.Outlook.MAPIFolder destFolder = inboxFolder.Folders[somefoldername]; 
int countofmails = inboxFolder.Items.Count;   
for (int j = countofmails; j > 0; j--) 
{ 
Object _obj=inboxFolder.Items[j]; 
if (_obj is MailItem) 
    { 
    MailItem mi = (MailItem)_obj;      
    if (mi != null) 
    { 
    mi.SaveAs(somepath,OlSaveAsType.olMSG); 
    mi.Move(destFolder); 
    System.Runtime.InteropServices.Marshal.FinalReleaseComObject(mi); 
    } 
    } 
} 

이 코드는 제대로 작동하지만 파란색 달에 한 번만 실행해도 코드가 성공적으로 실행 되더라도 메일 항목은 여전히받은 편지함 폴더에 표시됩니다.

+0

이 코드를 유발하는 이벤트는 무엇입니까? –

+0

해당 코드를 실행하는 동안 새 메시지가 도착할 수 있습니까? –

+0

@stuart Thomson- 10 분 간격으로 반복되는 스케쥴러에 올려집니다. –

답변