CiderWebmail::Model::IMAPClient(3pm)

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.