in reply to Extract email content from MS Outlook

Here is some working code to get you started.
#Read Outlook Folder... use strict; use Win32::OLE qw(in); use Constant olFolderCalendar=>9; my $Outlook = Win32::OLE->GetObject("Outlook.Application") || Win32::OLE->new("Outlook.Application"); my $Session = $Outlook->Session; #my $NameSpace = $Session->GetNameSpace("MAPI"); #my $ContactsFolder = $NameSpace->GetDefaultFolder(olFolderContacts); ShowSubFolders ($Session->Folders); ################################################# sub ShowSubFolders{ my $FolderCollection = shift; my $level = shift || 0; for my $Folder (in $FolderCollection) { print " " x $level . "Folder$level: $Folder->{Name}\t(\n";# . $Fo +lder->Items->{Count}. ")\n"; #if ($Folder->{Name} =~ /Personal Folders/) { if ($Folder->{Name} =~ /^Mailbox|^Issues|^Public Folders|^All Publ +ic|Operations/) { ShowSubFolders($Folder->Folders, $level + 1); } if ($Folder->{Name} =~ /Inbox|All Public|Operations/) { my $msgCount=1; print "*** Please OK the msgbox in outlook that requests externa +l program access**\n"; $Folder->Items->Sort ("CreationTime",1); # Descending by date for my $Item (in $Folder->Items) { print "$msgCount: $Item->{SenderName} : $Item->{Subject}\n"; #print "\t $Item->{Body} \n\n"; last if $msgCount++ > 9; } } } }
Update:++ on the Mail::Outlook suggestion below. I was not aware that it provided this functionality.

     "As you get older three things happen. The first is your memory goes, and I can't remember the other two... " - Sir Norman Wisdom

Replies are listed 'Best First'.
Re^2: Extract email content from MS Outlook
by Anonymous Monk on Jul 12, 2008 at 08:24 UTC