Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# Outlook isn't moving all emails

Tags:

c#

outlook

I'm using the Outllok Interop to move emails from one folder to another (after getting all of the attachments, but that works) but it isn't copying all of the emails. I've tried putting a wait in, but it doesn't have an effect. First it'll move 6, then 3, then 1. Can anyone tell me why its not moving them all?

Relevant code is below:

Application oOutlook = new Application();
NameSpace oNs = oOutlook.GetNamespace("MAPI");

Recipient oRep = oNs.CreateRecipient("ContentHelp");
MAPIFolder inbox = oNs.GetSharedDefaultFolder(oRep, OlDefaultFolders.olFolderInbox);

MAPIFolder nihSub = inbox.Folders["NIH"];
MAPIFolder nihArchive = inbox.Folders["NIHarchive"];
Items nihItems = nihSub.Items;
MailItem moveMail = null;
//inboxItems = inboxItems.Restrict("[Unread] = false");

int increment = 0;

try
{
    foreach (object collectionItem in nihItems)
    {
        moveMail = collectionItem as MailItem;
        if (moveMail != null)
        {
            Console.WriteLine("Moving {0}", moveMail.Subject.ToString());
            string titleSubject = (string)moveMail.Subject;
            moveMail.Move(nihArchive);
        }
    }
}
like image 259
Tom Avatar asked Oct 16 '09 11:10

Tom


People also ask

Bahasa C digunakan untuk apa?

Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia.

C dalam Latin berapa?

C adalah huruf ketiga dalam alfabet Latin. Dalam bahasa Indonesia, huruf ini disebut ce (dibaca [tʃe]).

Bahasa C dibuat pertama kali oleh siapa dan tahun berapa?

Bahasa pemrograman C ini dikembangkan antara tahun 1969 – 1972 oleh Dennis Ritchie. Yang kemudian dipakai untuk menulis ulang sistem operasi UNIX. Selain untuk mengembangkan UNIX, bahasa C juga dirilis sebagai bahasa pemrograman umum.


1 Answers

The index gets reset each time you loop on move , so you will never more than half the items. Use a While loop or countdown from olItems.Count to 1.

like image 57
76mel Avatar answered Oct 15 '22 14:10

76mel