Mail::Server::IMAP4::List man page on Mandriva

Man page or keyword search:  
man Server   17060 pages
apropos Keyword Search (all sections)
Output format
Mandriva logo
[printable version]

Mail::Server::IMAP4::LUser3Contributed Perl DocumeMail::Server::IMAP4::List(3)

NAME
       Mail::Server::IMAP4::List - folder related IMAP4 answers

SYNOPSIS
	my $imap = Mail::Server::IMAP4::List->new
	  ( folders   => $folders   # Mail::Box::Identity
	  , inbox     => $inbox	    # Mail::Box
	  , delimiter => '#'
	  );

	my $imap = Mail::Server::IMAP4::List->new(user => $user);
	print $imap->list(...);	       # for LIST command

DESCRIPTION
METHODS
   Constructors
       Mail::Server::IMAP4::List->new(USER)

	   Create a (temporary) object to handle the LIST requests for a
	   certain user, based upon a set of folders.  The data is kept by
	   Mail::Box::Identity and Mail::Box::Collection objects, which mean
	   that the folders will not be opened to answer these questions.

	    Option   --Default
	    delimeter  '/'
	    folders    <from user>
	    inbox      <from user>
	    user       <undef>

	   . delimeter => STRING|CODE

	       Either the constant delimiter, or a code reference which will
	       get passed a folder name and should return the delimiter string
	       used in that name.  If that folder name is empty, the default
	       delimiter must be reported.  See delimiter() for an example.

	   . folders => OBJECT

	       You need to specify either a set of folders explicitly or via
	       the user. Some Mail::Box::Identity OBJECT is needed.

	   . inbox => BOOLEAN

	       For now, only used to see whether there is an inbox, so a truth
	       value will do.  This may change in the future.  By default, the
	       flag is set if "$user-"inbox> is defined.

	   . user => OBJECT

	       A Mail::Box::Manage::User OBJECT, representing the user who's
	       folders must get reported.

   Attributes
       $obj->delimiter([FOLDERNAME])

	   Returns the delimiter string.  The foldername is only required when
	   a CODE reference was specified at initiation.

	   example: setting-up an IMAP4 delimeter

	    sub delim($)
	    {	my $path = shift;
		my ($delim, $root)
		  = $path =~ m/^(#news\.)/ ? ('.', $1)
		  = $path =~ m!^/!	   ? ('/', '/')
		  :			     ('/', '');

		wantarray ? ($delim, $root) : $delim;
	    }

	    my $list = Mail::Server::IMAP4::List->new(delimiter => \&delim, ...);
	    print $list->delimiter('abc/xyz');	    # returns a / (slash) and ''
	    print $list->delimiter('#news.feed');   # returns a . (dot)	  and $news.
	    print $list->delimiter('');		    # returns default delimiter

       $obj->folders

	   Returns the Mail::Box::Identity of the toplevel folder.

       $obj->inbox

	   Returns the Mail::Box or filename of the INBOX.

       $obj->user

	   Returns the Mail::Box::Manage::User object, if defined.

   IMAP Commands
       $obj->list(BASE, PATTERN)

	   IMAP's LIST command.	 The request must be partially decoded, the
	   answer will need to be encoded.

	   example: using IMAP list

	    my $imap  = Mail::Server::IMAP4::List->new(delimiter => \&delim, ...);
	    local $"  = ';';

	    my @lines = $imap->list('', '');  # returns the default delimiter
	    print ">@{$lines[0]}<";	      #	 >(\Noselect);/;<

	    my @lines = $imap->list('#news',''); # specific delimiter
	    print ">@{$lines[0]}<";	      #	 >(\Noselect);.;<

	    my @lines = $imap->list('top/x/', '%');
	    print ">@$_<," foreach @lines;    #	 >();/;/tmp/x/y<,>(\Marked);/;/tmp/x/z<

DETAILS
       See

       RFC2060: "Internet Message Access Protocol IMAP4v1"
	   sections 6.3.8 (LIST question) and 7.2.2 (LIST answer)

SEE ALSO
       This module is part of Mail-Box distribution version 2.094, built on
       April 06, 2010. Website: http://perl.overmeer.net/mailbox/

LICENSE
       Copyrights 2001-2010 by Mark Overmeer. For other contributors see
       ChangeLog.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.  See
       http://www.perl.com/perl/misc/Artistic.html

perl v5.10.1			  2010-04-06	  Mail::Server::IMAP4::List(3)
[top]

List of man pages available for Mandriva

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net