In Re: How do I convert VBA script to Perl? - Using Win32::OLE I showed a code sketch I previously used in a Win32 service (with AS PerlSvc) to access an Exchange server inbox.
Some random remarks:
- That code uses the MAPI API from CDO directly, rather then instantiating Outlook, because you get CDO with installing Outlook anyway, and it was forbidden to have Outlook on a server I wanted to run that on, so I broke the spirit of the law while abiding to it by installing Outlook, and immediately uninstalling it again (with leaving the "shared component" CDO intact.)
- To have a successful MAPI-Login I had to use Win32::OLE qw(EVENTS);, because otherwise the used threading model was not suitable (NB: I don't know what that actually means. It was just some necessary cargo cult programming to get it working ;-))
- There are more gotchas accessing items in MAPI folders (see my comments in the code)
- This ran on W2K3. I have no idea, if Vista makes the whole thing even more challenging.
I hope that any of this may be of any help for you.