Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re^2: Win32 - M$ Outlook and Perl.

by ttdri1 (Initiate)
on May 11, 2005 at 06:16 UTC ( #455868=note: print w/replies, xml ) Need Help??

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 ?


        Change the line:

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

        to select the folder you want to start from.


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

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://455868]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2016-10-22 16:19 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (297 votes). Check out past polls.