Date: | Thu, 11 Nov 2004 11:52:57 +0100 |
From: | Sebastian Birnbach <birnbacs [...] web.de> |
To: | bug-Mail-IMAPClient [...] rt.cpan.org |
Subject: | Mail::IMAPClient feedback |
David,
great package you wrote there! We love it a lot, using it for a
migration toolkit from Microsoft Exchange to Sun Java Enterprise System.
We need it to move /a lot/ of data so we extended and updated your
package for our purposes (non-blocking I/O and so forth). When I have a
little time, I will sum up my colleagues' changes, too; for now,
however, I have just one minor thing to supply:
On some mail servers, there are mechanisms to authenticate on behalf of
another user, using the credentials of a special user. Such a user must
be created and configured appropriately on the mail server. On JES, a
proprietary extension to the imap protocol is used:
1 login <proxyuser> <proxyuser's password>
1 OK LOGIN completed.
2 proxyauth <someuser>
On Microsoft Exchange (5.5 through 2003), the login procedure looks like
this:
1 login <WIN_DOMAIN>/<proxyuser>/<someuser>
1 OK LOGIN completed.
Interestingly, your implementation of the 'folders()' command will not
list <someuser>'s folders to the proxyuser; all he sees is the Public
Folders. In IMAP, the common command for retrieving all folders would be:
1 list "" "*"
1 list "" "*"
* LIST (\Noselect) "/" "Public Folders/"
* LIST (\HasNoChildren) "/" "Public Folders/Internet Newsgroups"
1 OK LIST completed.
On Exchange and after proxy-login, only this command will show all
available folders:
2 list "" "%"
* LIST (\HasNoChildren) "/" Calendar
* LIST (\HasNoChildren) "/" Contacts
* LIST (\HasNoChildren) "/" "Deleted Items"
* LIST (\HasNoChildren) "/" Drafts
* LIST (\Marked \HasNoChildren) "/" INBOX
* LIST (\HasNoChildren) "/" Journal
* LIST (\HasNoChildren) "/" Notes
* LIST (\HasNoChildren) "/" Outbox
* LIST (\Marked \HasNoChildren) "/" "Sent Items"
* LIST (\HasNoChildren) "/" Tasks
* LIST (\Noselect) "/" "Public Folders/"
2 OK LIST completed.
To my knowledge, the two commands should be equivalent on all other
systems, so it would be useful to adapt Mail::IMAPClient's
implementation to Microsoft's way of interpreting RFC 3501. Again, for a
normally logged in user, everything is fine as it is, Exchange or not.
Should you happen to know of proxy authentication schemes on other
systems, namely Lotus Notes, I would be delighted to hear about it.
Best Regards
Sebastian