diakonos has asked for the wisdom of the Perl Monks concerning the following question:

I know the idea of CDO on Linux is a bit strange but here it is anyway..

My problem is to access the contacts of an individual's mailbox on an exchange server from a linux box using Perl. I know there is a solution using Active State and win32 libraries but that has to be done from a Windoze machine. I need to do this from a web application on the Linux machine.

As I understand it CDO is an extension of IMAP (please correct me if I am wrong) but I cannot seem to get all of the details of the contacts using IMAP. Using IMAP the message returned is very basic and includes the name of the contact as the message subject and the generic notes for the contact as the message body. All of the details of the contact are missing. I expected them to show up as the "X-" headers.

I have searched CPAN, Google, SourceForge, and many many lists on this subject.

Thanks much in advance..

Replies are listed 'Best First'.
Re: CDO and Linux ?
by perrin (Chancellor) on Jun 13, 2003 at 16:02 UTC
    I have no idea what CDO is, but I've used IMAP modules from CPAN to read mail from an Exchange server before.

    UPDATE: Never mind, I see that you're actually after the contacts, not the mail.

Re: CDO and Linux ?
by Thelonius (Priest) on Jun 13, 2003 at 19:45 UTC
    From what I can tell, CDO is a COM API that handles messaging. It may use IMAP, SMTP, POP3, LDAP, etc. It's an API, not a protocol.

    I've never used Exchange, so I'm not the best source on this, but I think you can access it via LDAP, which may give you the information you want.

      I have tried this before using LDAP and couldn't get it to work. LDAP works for accessing the DS (Directory Store) and the contacts, calendar, tasks, etc. are a part of the IS (Information Store). I've also tried using IMAP and got basically the results as described in the original post. There is something called ADSI out there that may be of some help although I haven't been able to find any good information to tell me exactly what it is.