Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.2 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > Programming > Perl Modules

    IMAP::Client 0.13

    Download button

    No screenshots available
    Downloads: 279  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Brenden Conte | More programs
    Perl Artistic License / FREE
    November 15th, 2011, 01:53 GMT
    ROOT / Programming / Perl Modules

     Read user reviews (0)  Refer to a friend  Subscribe

    IMAP::Client description

    Advanced manipulation of IMAP services w/ referral support

    IMAP::Client is a Perl module created as a low-level inteface to any IMAP server. It was built to be a 'clear box' solution to working with an IMAP environment. The idea is that anything an IMAP client should be able to do, and any information available via the IMAP specs, should be available to a client interface and user. This way, the full strength of the IMAP protocol and data can be utilized, ideally in the most network-efficient mannger possible, rather than being contrained only to a subset of commands or data-limited responses. If the server says it, the client should be able to see it.

    This module also takes steps to be able to handle anticipated situations for the user rather than forcing a per-implementation behavior for such expected events, such as referrals. IMAP::Client will fully support referrals, and will transparently handle them for whatever command is issued to them (so long as the referral s for anonymous or the same user with the same password - a new user or different password would require a new username/password to be obtained. As of 0.01, this is not supported, however the framework is down.

    This module also tries to follow the various RFCs for IMAPrev1 communications very closely, enforcing client-side responsabilities where appropriate. The complete lists of RFCs referenced for this module include:

     * RFC 3501 - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1 (partial)
     * RFC 2086 - IMAP4 ACL extension (0.01)
     * RFC 2087 - IMAP4 QUOTA extension (0.01)
     * RFC 2088 - IMAP4 non-synchronizing literals (0.01)
     * RFC 2177 - IMAP4 IDLE command (Not supported yet)
     * RFC 2192 - IMAP4 URL Scheme (0.01)
     * RFC 2193 - IMAP4 Mailbox Referrals (0.01 [Partial])
     * RFC 2342 - IMAP4 Namespace (Not directly supported yet)
     * RFC 2359 - IMAP4 UIDPLUS extension (Partial in 0.01 - UID EXPUNGE check ok, need COPYUID and APPENDUID support)
     * RFC 2971 - IMAP4 ID extension (0.01)
     * RFC 3348 - IMAP4 Child Mailbox Extention (Not directly supported yet)
     * RFC 3502 - IMAP MULTIAPPEND extention (Not directly supported yet)
     * RFC 3516 - Binary Content Extention (Not directly supported yet)
     * RFC 3691 - Internet Message Access Protocol (IMAP) UNSELECT command (Not directly supported yet)

    In addition, the following drafts functionalities are also included. While functionality is included for these drafts (because a server is using them), drafts expire after 6 months, and thus functionality from the server side may be spotty at best.

     * draft-ietf-imapext-annotate-15 - IMAP ANNOTATE Extension (Not directly supported yet)
     * draft-daboo-imap-annotatemore-08 - IMAP ANNOTATEMORE Extension (Partial in 0.12 - GETANNOTATION works)

    SYNOPSIS

     use IMAP::Client
     
     my $imap = new IMAP::Client($server);
     unless (ref $imap) {
     die "Failed to create object: $imap
    ";
     }
    (or)
     my $imap = new IMAP::Client();
     $imap->connect(PeerAddr => $server,
     ConnectMethod => 'SSL STARTTLS PLAIN',
     )
     or die "Unable to connect to [$server]: ".$imap->error();

     $imap->onfail('ERROR');
     $imap->errorstyle('STACK');
     $imap->debuglevel(1);
     $imap->capability_checking(1);
     
     sub showstats ($) {
     my $resp = shift;
     foreach my $attr (keys %{$resp}) {
     print "$attr: $resp->{$attr}
    ";
     }
     }
     $imap->register_mailbox_update(&showstats);

     $imap->authenticate($user,$pass)
     or die "Unable to authenticate as $user ".$imap->error()."
    ";
    (or)
     $imap->authenticate($user,$pass,$authas_user)
     or die "Unable to authenticate as $user on behalf of $authas_user: ".$imap->error()."
    ";

     $imap->id() or die $imap->error();
     $imap->capability() or die $imap->error();
     $imap->noop() or die $imap->error();

     FIXME: more examples here



    Product's homepage

    Requirements:

    · Perl

      


    TAGS:

    IMAP server | server interface | Perl module | IMAP | server | interface

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM