in reply to (RhetTbull) Re: Win32 - M$ Outlook and Perl.
in thread Win32 - M$ Outlook and Perl.

Who do I read mail in subfolders: inbox/subfolder

Replies are listed 'Best First'.
Re^3: Win32 - M$ Outlook and Perl.
by RhetTbull (Curate) on May 13, 2005 at 03:50 UTC
    This will recursively print out the names of all subfolders in Inbox. You could combine this with the code above to get the messages in each subfolder.
    use strict; use warnings; use Win32::OLE; use Win32::OLE::Const 'Microsoft Outlook'; $|++; #get an Outlook object my $outlook; $outlook = Win32::OLE->new('Outlook.Application'); die unless $outlook; #get the Inbox folder my $namespace = $outlook->GetNamespace("MAPI"); my $folder = $namespace->GetDefaultFolder(olFolderInbox); my $items = $folder->Items; print STDERR "Folder: ", $folder->Name,"\n"; print STDERR "Total entries: ",$items->Count,"\n"; print_folders($folder); sub print_folders { my $folder = shift; print "Folder: " . $folder->Name . "\n"; if ($folder->Folders->Count) { foreach my $i (1..$folder->Folders->Count) { print_folders($folder->Folders($i)); } } }
      What if a new folder (not a subfolder) is created by the user just like Inbox ?

        pankaj_it09:

        Change the line:

        my $folder = $namespace->GetDefaultFolder(olFolderInbox);

        to select the folder you want to start from.

        ...roboticus

        When your only tool is a hammer, all problems look like your thumb.