2017-09-08 6 views
0

Vous trouverez ci-dessous mon code pour déplacer les messages de la boîte de réception vers un autre dossier.Le courrier Outlook ne se déplace pas physiquement vers un autre dossier parfois

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

Ce code fonctionne correctement, mais une fois dans la lune bleue, même si le code est exécuté avec succès, l'article de courrier est toujours vu dans le dossier de boîte de réception.

+0

Quel événement déclenche ce code? –

+0

Est-il possible qu'un nouveau message arrive pendant que vous exécutez ce code? –

+0

@stuart Thomson- Il est mis sur un cédulaire qui est répété toutes les 10 minutes. –

Répondre