Provided by: ciderwebmail_1.05+20150729-6_all bug

NAME

       CiderWebmail::Model::IMAPClient - Catalyst Model

DESCRIPTION

       Interface to the IMAP Server

       You should *really* read rfc3501 if you want to use this.

METHODS

   new()
       creates a new CiderWebmail::Model::IMAPClient

   _die_on_error()
       die if the last IMAP command sent to the server caused an error this sould be called after
       every command sent to the imap server.

   disconnect
       disconnect from IMAP Server, if connected

   separator()
       Returnes the folder separator

   folder_tree()
       Return all folders as hash-tree.

   folder_sort
       custom sort for folders always put INBOX on top

   select({ mailbox => $mailbox })
       selects a folder

   message_count({ mailbox => $mailbox })
       returnes the number of messages in a mailbox

   unseen_count({ mailbox => $mailbox })
       returnes the number of unseen messages in a mailbox

   check_sort($sort)
       Checks if the given sort criteria is valid.

   get_folder_uids({ mailbox => $mailbox, sort => $sort, range => $range })
       Returns a MessageSet object representing all UIDs in a mailbox The range option accepts a
       range of UIDs (for example 1:100 or 1:*), if you specify a range containing '*' the last
       (highest UID) message will always be returned.

   get_headers_hash({ uids => [qw/ 1 .. 10 /], sort => [qw/ date /], headers => [qw/ date subject
       /], mailbox => 'INBOX' })
       returnes a array of hashes for messages in a mailbox

       ·   uids (arrayref): a list of uids (as described in RFC2060) to fetch

       ·   sort (arrayref): sort criteria (as described in RFC2060). for example: [ qw/ date / ]
           will sort by date, [ qw/ reverse date / ] will sort by reverse date

       ·   headers (arrayref, required): a list of mail-headers to fetch.

       ·   mailbox (required)

   search()
       searches a mailbox returns a arrayref containing a list of UIDs

   all_headers({ mailbox => $mailbox, uid => $uid })
       fetch all headers for a message and updates the local headercache

   get_headers({ mailbox => $mailbox })
       fetch headers for a single message from the server or (if available) the local headercache

   mark_read({ mailbox => $mailbox, uid => $uid })
       mark a messages as read

   mark_answered({ mailbox => $mailbox, uid => $uid })
       mark a message as answered

   toggle_important({ mailbox => $mailbox, uid => $uid })
       toggle the important/flagged IMAP flag. returnes 'flagged' if the flag is now set,
       otherwise returnes undef.

   get_flags({ mailbox => $mailbox, uid => $uid })
       fetches the flags of a message, returnes a hashref with the lowercased flag names as keys

   bodypart_as_string({ mailbox => $mailbox, uid => $uid, parts => [ $part ] })
       fetches body part(s) of a message - part IDs according to the bodystructure of the message

   get_bodystructure({ mailbox => $mailbox, uid => $uid })
       fetches bodystructure of a message.  returns a Mail::IMAPClient::BodyStructure object -
       this might change when we parse this into something more usefull

   message_as_string({ mailbox => $mailbox, uid => $uid })
       return a full message body as string

   delete_messages({ mailbox => $mailbox, uid => $uid })
       delete message(s) form the server and expunge the mailbox

   append_message({ mailbox => $mailbox, message_text => $message_text })
       low level method to append an RFC822-formatted message to a mailbox

   move_message({ mailbox => $mailbox, target_mailbox => $target_mailbox, uid => $uid })
       Move a message to another mailbox

   create_mailbox({ mailbox => $mailbox, name => $name })
       Create a subfolder

   delete_mailbox({ mailbox => $mailbox })
       Delete a complete folder

   get_quotas({ mailbox => $mailbox })
       Get a list of quotaroots that apply to the specified mailbox

AUTHOR

       Stefan Seifert and Mathias Reitinger <mathias.reitinger@loop0.org>

LICENSE

       This library is free software, you can redistribute it and/or modify it under the same
       terms as Perl itself.