The short answer here is Yes. The longer answer is a bit more complicated.
Some things you are going to have to do some research on (in no particular order) are:
- Win32::OLE
- Using Win32::OLE to connect to Exchange through one of the following:
- Outlook
- Outlook Web Access (OWA)
- CDO-NTS
- Using the MAPI interface to get the data you need
- Proper Authentication
Off the top of my head, the following will get a list of appointments from the current calendar:
use strict;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Outlook';
use Win32::OLE::Variant;
my $OL = Win32::OLE->GetActiveObject('Outlook.Application')
|| Win32::OLE->new('Outlook.Application', 'Quit');
my $NameSpace = $OL->GetNameSpace("MAPI");
foreach my $folders (in $NameSpace->{Folders}){
print $folders->{Name}."\n";
my $folder = $folders->Folders("Calendar");
print "\t".$folder->{Name}."\n";
foreach my $item (in $folder->{Items}){
print "\t\t".sprintf("%s",Variant(VT_DATE,$item->{Start}))
+." : ". $item->{Subject}."\n";
}
}
C-.
---
Flex the Geek