The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Email::Folder::Exchange::WebDAV - Email::Folder access to exchange folders via WebDAV

SYNOPSIS

  use Email::Folder::Exchange::WebDAV;

  my $folder = Email::Folder::Exchange::WebDAV->new('http://owa.myorg.com/user/Inbox', 'user', 'password');

  for my $message ($folder->messages) {
    print "subject: " . $subject->header('Subject');
  }

  for my $folder ($folder->folders) {
    print "folder uri: " . $folder->uri->as_string;
    print " contains " . scalar($folder->messages) . " messages";
    print " contains " . scalar($folder->folders) . " folders";
  }

DESCRIPTION

Add access to Microsoft Exchange to Email::Folder. Contains API enhancements to allow folder browsing.

Utilizes FBA (forms-based authentication) to login. Therefore, OWA (Outlook Web Access) must be installed and enabled on target server.

new($url, [$username, $password])

Create Email::Folder::Exchange::WebDAV object and login to OWA site.

url

URL of the target folder, usually in the form of server/user/Inbox. May contain authentication information, I.E. 'http://domain\user:password@owa.myorg.com/user/Inbox'.

username

Username to authenticate as. Generally in the form of 'domain\username'. Overrides URL-supplied username if given.

password

Password to authenticate with. Overrides URL-supplied password.

messages()

Return a list containing all of the messages in the folder. Can only be called once as it drains the iterator.

next_message()

Return next message as Email::Simple object from folder. Acts as iterator. Returns undef at end of folder contents.

folders()

Return a list of Email::Folder::Exchange::WebDAV objects contained within base folder. Can only be called once as it drains the iterator.

next_folder()

Return next folder under base folder as Email::Folder::Exchange::WebDAV object. Acts as iterator. Returns undef at end of list.

uri()

Return URI locator object for current folder.

CAVEATS

  Can't locate object method "new" via package "LWP::Protocol::https::Socket"

Install the Crypt::SSLeay module in order to support SSL URLs

SEE ALSO

Email::Folder::Exchange, Email::Folder, URI, Email::Simple, Crypt::SSLeay

AUTHOR

Warren Smith <lt>wsmith@cpan.org<gt>

COPYRIGHT AND LICENSE

Copyright (C) 2011 by Warren Smith

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.