Here is the last feeble attempt: #!\perl\bin\perl.exe -w use strict; use Win32::OLE; use Win32::OLE::Const;
my $DEBUG_FLAG = 1; # set it to zero for real job #names have been changed to protect the innocent my $server = "servername"; my $fname = "Firstname"; my $lname = "Lastname"; my $alias = "Alias"; # Necessary for MAPI component Win32::OLE->Initialize(Win32::OLE::COINIT_OLEINITIALIZE); # Do this rather than 'use' as that interferes with the OLE Initialize code my $CDO_CONST = Win32::OLE::Const->Load('Microsoft CDO.*Library'); my $MAPI = Win32::OLE->new('MAPI.Session'); die "Could instantiate MAPI Session: " . Win32::OLE::LastError() if (! defined($MAPI)); my %LogonParms = ( 'ProfileInfo' => "$server\n$alias" ); $MAPI->logon(\%LogonParms); die Win32::OLE::LastError() if (Win32::OLE::LastError()); print "USER: " . $MAPI->{CurrentUser}->Value . "\n"; my $Contactsfolder = $MAPI->GetFolder($MAPI->{Inbox}->{Fields}->Item(0x36D10102),$MAPI->{Inbox}-> {StoreID}); my $contacts = $Contactsfolder->{Messages}; my $ncon = $contacts->{'Count'}; print "\tContacts - $ncon\n"; my $con; my $field1; my $field2; my $email1; for my $ii (1 .. $ncon) { $con = $contacts->Item($ii); print "$ii - $con->{'FullName'}\n"; print "email is $con->{0x8083}\n"; print "email is $con->{'0x8083'}\n"; $field1 = "{0420060000000000C000000000000046}"; $field2 = "0x8083"; print "email is $con->{$field1 . $field2}\n"; print "email is $con->{'Email1Address'}\n"; #no matter what I try here I always get the contact's display name } exit; -----Original Message----- From: Tim Johnson [mailto:[EMAIL PROTECTED] Sent: Friday, July 11, 2003 11:25 AM To: 'Chris Rogers'; [EMAIL PROTECTED] Org (E-mail) Subject: RE: Perl and Exchange Server Maybe it would help if you gave us what you've tried? -----Original Message----- From: Chris Rogers [mailto:[EMAIL PROTECTED] Sent: Friday, July 11, 2003 8:24 AM To: [EMAIL PROTECTED] Org (E-mail) Subject: Perl and Exchange Server I have been trying for some time to get at the contacts in a mailbox on exchange server 5.5. I have been using Win32::OLE with CDO. I can get the contacts folder, the count of items in it, and even the name of each contact but I can't seem to get at any of the fields. I have found many examples in VB that use the outlook object model to do this but I need to get the data from the server without outlook. All my attempts at this have failed miserably. I have tried to understand the documentation on MSDN however there are no specific examples for getting the contacts from the server. All examples I have found deal with the contacts from the client not the server and the few I found written in perl don't seem to work at all. Since this is generally an Microscrap question, I have posted numerous times to the MS newsgroups for exchange with no responses. If someone can give me an example or point me in the right direction, I would be eternally grateful. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]