Overview

Packages

  • IMP

Classes

  • IMP
  • IMP_Ajax_Addresses
  • IMP_Ajax_Application
  • IMP_Ajax_Application_Compose
  • IMP_Ajax_Application_Handler_Common
  • IMP_Ajax_Application_Handler_ComposeAttach
  • IMP_Ajax_Application_Handler_Draft
  • IMP_Ajax_Application_Handler_Dynamic
  • IMP_Ajax_Application_Handler_ImageUnblock
  • IMP_Ajax_Application_Handler_Mboxtoggle
  • IMP_Ajax_Application_Handler_Passphrase
  • IMP_Ajax_Application_Handler_Remote
  • IMP_Ajax_Application_Handler_RemotePrefs
  • IMP_Ajax_Application_Handler_Search
  • IMP_Ajax_Application_Handler_Smartmobile
  • IMP_Ajax_Application_ListMessages
  • IMP_Ajax_Application_ShowMessage
  • IMP_Ajax_Application_Viewport
  • IMP_Ajax_Application_Viewport_Error
  • IMP_Ajax_Imple_ImportEncryptKey
  • IMP_Ajax_Imple_ItipRequest
  • IMP_Ajax_Imple_PassphraseDialog
  • IMP_Ajax_Imple_VcardImport
  • IMP_Ajax_Queue
  • IMP_Api
  • IMP_Application
  • IMP_Auth
  • IMP_Basic_Base
  • IMP_Basic_Compose
  • IMP_Basic_Contacts
  • IMP_Basic_Error
  • IMP_Basic_Folders
  • IMP_Basic_Listinfo
  • IMP_Basic_Mailbox
  • IMP_Basic_Message
  • IMP_Basic_Pgp
  • IMP_Basic_Saveimage
  • IMP_Basic_Search
  • IMP_Basic_Searchbasic
  • IMP_Basic_Smime
  • IMP_Basic_Thread
  • IMP_Block_Newmail
  • IMP_Block_Summary
  • IMP_Compose
  • IMP_Compose_Attachment
  • IMP_Compose_Attachment_Linked_Metadata
  • IMP_Compose_Attachment_Metadata
  • IMP_Compose_Attachment_Storage
  • IMP_Compose_Attachment_Storage_AutoDetermine
  • IMP_Compose_Attachment_Storage_Temp
  • IMP_Compose_Attachment_Storage_VfsLinked
  • IMP_Compose_Exception
  • IMP_Compose_Exception_Address
  • IMP_Compose_HtmlSignature
  • IMP_Compose_Link
  • IMP_Compose_LinkedAttachment
  • IMP_Compose_Ui
  • IMP_Compose_View
  • IMP_Contacts
  • IMP_Contacts_Avatar_Addressbook
  • IMP_Contacts_Avatar_Gravatar
  • IMP_Contacts_Avatar_Unknown
  • IMP_Contacts_Flag_Host
  • IMP_Contacts_Image
  • IMP_Contents
  • IMP_Contents_InlineOutput
  • IMP_Contents_View
  • IMP_Crypt_Pgp
  • IMP_Crypt_Smime
  • IMP_Dynamic_AddressList
  • IMP_Dynamic_Base
  • IMP_Dynamic_Compose
  • IMP_Dynamic_Compose_Common
  • IMP_Dynamic_Helper_Base
  • IMP_Dynamic_Mailbox
  • IMP_Dynamic_Message
  • IMP_Exception
  • IMP_Factory_AuthImap
  • IMP_Factory_Compose
  • IMP_Factory_ComposeAtc
  • IMP_Factory_Contacts
  • IMP_Factory_Contents
  • IMP_Factory_Flags
  • IMP_Factory_Ftree
  • IMP_Factory_Identity
  • IMP_Factory_Imap
  • IMP_Factory_Mail
  • IMP_Factory_MailAutoconfig
  • IMP_Factory_Mailbox
  • IMP_Factory_MailboxCache
  • IMP_Factory_MailboxList
  • IMP_Factory_Maillog
  • IMP_Factory_MimeViewer
  • IMP_Factory_Pgp
  • IMP_Factory_PrefsSort
  • IMP_Factory_Quota
  • IMP_Factory_Search
  • IMP_Factory_Sentmail
  • IMP_Factory_Smime
  • IMP_Factory_Spam
  • IMP_Filter
  • IMP_Flag_Base
  • IMP_Flag_Imap
  • IMP_Flag_Imap_Answered
  • IMP_Flag_Imap_Deleted
  • IMP_Flag_Imap_Draft
  • IMP_Flag_Imap_Flagged
  • IMP_Flag_Imap_Forwarded
  • IMP_Flag_Imap_Junk
  • IMP_Flag_Imap_NotJunk
  • IMP_Flag_Imap_Seen
  • IMP_Flag_System_Attachment
  • IMP_Flag_System_Encrypted
  • IMP_Flag_System_HighPriority
  • IMP_Flag_System_List
  • IMP_Flag_System_LowPriority
  • IMP_Flag_System_Match_Address
  • IMP_Flag_System_Match_Flag
  • IMP_Flag_System_Match_Header
  • IMP_Flag_System_Personal
  • IMP_Flag_System_Signed
  • IMP_Flag_System_Unseen
  • IMP_Flag_User
  • IMP_Flags
  • IMP_Ftree
  • IMP_Ftree_Account
  • IMP_Ftree_Account_Imap
  • IMP_Ftree_Account_Inboxonly
  • IMP_Ftree_Account_Remote
  • IMP_Ftree_Account_Vfolder
  • IMP_Ftree_Element
  • IMP_Ftree_Eltdiff
  • IMP_Ftree_Iterator
  • IMP_Ftree_Iterator_Ancestors
  • IMP_Ftree_IteratorFilter
  • IMP_Ftree_IteratorFilter_Children
  • IMP_Ftree_IteratorFilter_Containers
  • IMP_Ftree_IteratorFilter_Expanded
  • IMP_Ftree_IteratorFilter_Invisible
  • IMP_Ftree_IteratorFilter_Mailboxes
  • IMP_Ftree_IteratorFilter_Nonimap
  • IMP_Ftree_IteratorFilter_Polled
  • IMP_Ftree_IteratorFilter_Remote
  • IMP_Ftree_IteratorFilter_Special
  • IMP_Ftree_IteratorFilter_Subscribed
  • IMP_Ftree_IteratorFilter_Vfolder
  • IMP_Ftree_Prefs
  • IMP_Ftree_Prefs_Expanded
  • IMP_Ftree_Prefs_Poll
  • IMP_Ftree_Select
  • IMP_Images
  • IMP_Imap
  • IMP_Imap_Acl
  • IMP_Imap_Cache_Wrapper
  • IMP_Imap_Config
  • IMP_Imap_Exception
  • IMP_Imap_Password
  • IMP_Imap_PermanentFlags
  • IMP_Imap_Remote
  • IMP_Indices
  • IMP_Indices_Mailbox
  • IMP_LoginTasks_SystemTask_GarbageCollection
  • IMP_LoginTasks_SystemTask_Upgrade
  • IMP_LoginTasks_SystemTask_UpgradeAuth
  • IMP_LoginTasks_Task_Autocreate
  • IMP_LoginTasks_Task_DeleteAttachmentsMonthly
  • IMP_LoginTasks_Task_DeleteSentmailMonthly
  • IMP_LoginTasks_Task_FilterOnLogin
  • IMP_LoginTasks_Task_PurgeSentmail
  • IMP_LoginTasks_Task_PurgeSpam
  • IMP_LoginTasks_Task_PurgeTrash
  • IMP_LoginTasks_Task_RecoverDraft
  • IMP_LoginTasks_Task_RenameSentmailMonthly
  • IMP_Mailbox
  • IMP_Mailbox_List
  • IMP_Mailbox_List_Pop3
  • IMP_Mailbox_List_Thread
  • IMP_Mailbox_List_Virtual
  • IMP_Mailbox_SessionCache
  • IMP_Mailbox_Ui
  • IMP_Maillog
  • IMP_Maillog_Log_Base
  • IMP_Maillog_Log_Forward
  • IMP_Maillog_Log_Mdn
  • IMP_Maillog_Log_Redirect
  • IMP_Maillog_Log_Reply
  • IMP_Maillog_Log_Replyall
  • IMP_Maillog_Log_Replylist
  • IMP_Maillog_Message
  • IMP_Maillog_Storage_Base
  • IMP_Maillog_Storage_Composite
  • IMP_Maillog_Storage_History
  • IMP_Maillog_Storage_Mdnsent
  • IMP_Maillog_Storage_Null
  • IMP_Mbox_Generate
  • IMP_Mbox_Import
  • IMP_Mbox_Size
  • IMP_Message
  • IMP_Message_Date
  • IMP_Message_Ui
  • IMP_Mime_Headers
  • IMP_Mime_Status
  • IMP_Mime_Status_RenderIssue
  • IMP_Mime_Status_RenderIssue_Display
  • IMP_Mime_Viewer_Alternative
  • IMP_Mime_Viewer_Appledouble
  • IMP_Mime_Viewer_Audio
  • IMP_Mime_Viewer_Enriched
  • IMP_Mime_Viewer_Externalbody
  • IMP_Mime_Viewer_Html
  • IMP_Mime_Viewer_Images
  • IMP_Mime_Viewer_Itip
  • IMP_Mime_Viewer_Mdn
  • IMP_Mime_Viewer_Partial
  • IMP_Mime_Viewer_Pdf
  • IMP_Mime_Viewer_Pgp
  • IMP_Mime_Viewer_Plain
  • IMP_Mime_Viewer_Related
  • IMP_Mime_Viewer_Rfc822
  • IMP_Mime_Viewer_Smil
  • IMP_Mime_Viewer_Smime
  • IMP_Mime_Viewer_Status
  • IMP_Mime_Viewer_Vcard
  • IMP_Mime_Viewer_Video
  • IMP_Mime_Viewer_Zip
  • IMP_Minimal_Base
  • IMP_Minimal_Compose
  • IMP_Minimal_Error
  • IMP_Minimal_Folders
  • IMP_Minimal_Mailbox
  • IMP_Minimal_Message
  • IMP_Minimal_Messagepart
  • IMP_Minimal_Search
  • IMP_Notification_Event_Status
  • IMP_Notification_Handler_Decorator_ImapAlerts
  • IMP_Notification_Handler_Decorator_NewmailNotify
  • IMP_Perms
  • IMP_Prefs_AttribText
  • IMP_Prefs_Identity
  • IMP_Prefs_Sort
  • IMP_Prefs_Sort_FixedDate
  • IMP_Prefs_Sort_None
  • IMP_Prefs_Sort_Sortpref
  • IMP_Prefs_Sort_Sortpref_Locked
  • IMP_Prefs_Special_Acl
  • IMP_Prefs_Special_ComposeTemplates
  • IMP_Prefs_Special_Drafts
  • IMP_Prefs_Special_Encrypt
  • IMP_Prefs_Special_Flag
  • IMP_Prefs_Special_HtmlSignature
  • IMP_Prefs_Special_ImageReplacement
  • IMP_Prefs_Special_InitialPage
  • IMP_Prefs_Special_Mailto
  • IMP_Prefs_Special_NewmailSound
  • IMP_Prefs_Special_PgpPrivateKey
  • IMP_Prefs_Special_PgpPublicKey
  • IMP_Prefs_Special_Remote
  • IMP_Prefs_Special_Searches
  • IMP_Prefs_Special_Sentmail
  • IMP_Prefs_Special_SmimePrivateKey
  • IMP_Prefs_Special_SmimePublicKey
  • IMP_Prefs_Special_Sourceselect
  • IMP_Prefs_Special_Spam
  • IMP_Prefs_Special_SpecialMboxes
  • IMP_Prefs_Special_Trash
  • IMP_Quota
  • IMP_Quota_Hook
  • IMP_Quota_Imap
  • IMP_Quota_Null
  • IMP_Quota_Ui
  • IMP_Remote
  • IMP_Remote_Account
  • IMP_Script_Package_Autocomplete
  • IMP_Script_Package_ComposeBase
  • IMP_Script_Package_DynamicBase
  • IMP_Script_Package_Editor
  • IMP_Script_Package_Imp
  • IMP_Search
  • IMP_Search_Element
  • IMP_Search_Element_Attachment
  • IMP_Search_Element_Autogenerated
  • IMP_Search_Element_Bulk
  • IMP_Search_Element_Contacts
  • IMP_Search_Element_Daterange
  • IMP_Search_Element_Flag
  • IMP_Search_Element_Header
  • IMP_Search_Element_Mailinglist
  • IMP_Search_Element_Or
  • IMP_Search_Element_Personal
  • IMP_Search_Element_Recipient
  • IMP_Search_Element_Size
  • IMP_Search_Element_Text
  • IMP_Search_Element_Within
  • IMP_Search_Filter
  • IMP_Search_Filter_Attachment
  • IMP_Search_Filter_Autogenerated
  • IMP_Search_Filter_Builtin
  • IMP_Search_Filter_Bulk
  • IMP_Search_Filter_Contacts
  • IMP_Search_Filter_Mailinglist
  • IMP_Search_Filter_Personal
  • IMP_Search_IteratorFilter
  • IMP_Search_Query
  • IMP_Search_Ui
  • IMP_Search_Vfolder
  • IMP_Search_Vfolder_Builtin
  • IMP_Search_Vfolder_Vinbox
  • IMP_Search_Vfolder_Vtrash
  • IMP_Sentmail
  • IMP_Sentmail_Mongo
  • IMP_Sentmail_Null
  • IMP_Sentmail_Sql
  • IMP_Smartmobile
  • IMP_Spam
  • IMP_Spam_Email
  • IMP_Spam_Null
  • IMP_Spam_Program
  • IMP_Test
  • IMP_Tree_Flist
  • IMP_Tree_Jquerymobile
  • IMP_Tree_Simplehtml
  • IMP_View_Subinfo

Interfaces

  • IMP_Compose_Attachment_Linked
  • IMP_Contacts_Avatar_Backend
  • IMP_Contacts_Flag_Backend
  • IMP_Spam_Base
  • Overview
  • Package
  • Class
  • Tree

Class IMP_Imap

Provides common functions for interaction with IMAP/POP3 servers via the Horde_Imap_Client package.

IMP_Imap implements Serializable

Direct known subclasses

IMP_Imap_Remote
Package: IMP
Category: Horde
Copyright: 2008-2014 Horde LLC
License: GPL
Author: Michael Slusarz slusarz@horde.org
Located at Imap.php
Methods summary
public
# __construct( string $id )

Constructor.

Constructor.

Parameters

$id
Object identifier.
public
# __get( mixed $key )
public
# __toString( )
public boolean
# isImap( )

Determine if this is a connection to an IMAP server.

Determine if this is a connection to an IMAP server.

Returns

boolean
True if connected to IMAP server.
public boolean
# isPop3( )

Determine if this is a connection to an IMAP server.

Determine if this is a connection to an IMAP server.

Returns

boolean
True if connected to IMAP server.
public Horde_Imap_Client_Base
# createBaseImapObject( string $username, string $password, string $skey )

Create the base Horde_Imap_Client object (from an entry in backends.php).

Create the base Horde_Imap_Client object (from an entry in backends.php).

Parameters

$username
The username to authenticate with.
$password
The password to authenticate with.
$skey
Create a new object using this server key.

Returns

Horde_Imap_Client_Base
Client object.

Throws

IMP_Imap_Exception
public Horde_Imap_Client_Base
# createImapObject( array $config, boolean $imap = true )

Create a Horde_Imap_Client object.

Create a Horde_Imap_Client object.

Parameters

$config
The IMAP configuration.
$imap
True if IMAP connection, false if POP3.

Returns

Horde_Imap_Client_Base
Client object.

Throws

IMP_Imap_Exception
public
# doPostLoginTasks( )

Perform post-login tasks.

Perform post-login tasks.

public
# updateFetchIgnore( )

Update the list of mailboxes to ignore when caching FETCH data in the IMAP client object.

Update the list of mailboxes to ignore when caching FETCH data in the IMAP client object.

public boolean
# access( integer $right )

Checks access rights for a server.

Checks access rights for a server.

Parameters

$right
Access right.

Returns

boolean
Does the access right exist?
public boolean
# accessCompose( integer $right, integer $data )

Checks compose access rights for a server.

Checks compose access rights for a server.

Parameters

$right
Access right.
$data
<p>Data required to check the rights: - ACCESS_COMPOSE_BODYSIZE The size of the body data.</p> <ul> <li>ACCESS_COMPOSE_RECIPIENTS</li> <li>ACCESS_COMPOSE_TIMELIMIT The number of e-mail recipients.</li> </ul>

Returns

boolean
Is the access allowed?
public mixed
# getNamespace( string $mailbox, boolean $personal = false )

Get namespace info for a full mailbox path.

Get namespace info for a full mailbox path.

Parameters

$mailbox
<p>The mailbox path. (self:NS_DEFAULT will return the default personal namespace.)</p>
$personal
<p>If true, will return empty namespace only if it is a personal namespace.</p>

Returns

mixed

The namespace info for the mailbox path or null if the path doesn't exist.

public string
# getCacheId( string $mailbox, array $addl = array() )

Return the cache ID for this mailbox.

Return the cache ID for this mailbox.

Parameters

$mailbox
The mailbox name (UTF-8).
$addl
Local IMP metadata to add to the cache ID.

Returns

string
The cache ID.
public array
# parseCacheId( string $id )

Parses the cache ID for this mailbox.

Parses the cache ID for this mailbox.

Parameters

$id
Cache ID generated by getCacheId().

Returns

array

Two element array: - date: (integer) Date information (day of year), if embedded in cache ID. - token: (string) Mailbox sync token.

public array
# getSlices( string $mbox, Horde_Imap_Client_Ids $ids, integer $size = 5242880 )

Returns a list of messages, split into slices based on the total message size.

Returns a list of messages, split into slices based on the total message size.

Parameters

$mbox
IMAP mailbox.
$ids
ID list.
$size
Maximum size of a slice.

Returns

array
An array of Horde_Imap_Client_Ids objects.
public mixed
# __call( string $method, array $params )

All other calls to this class are routed to the underlying Horde_Imap_Client_Base object.

All other calls to this class are routed to the underlying Horde_Imap_Client_Base object.

Parameters

$method
Method name.
$params
Method parameters.

Returns

mixed
The return from the requested method.

Throws

BadMethodCallException
IMP_Imap_Exception
public static mixed
# loadServerConfig( string $server = null )

Loads the IMP server configuration from backends.php.

Loads the IMP server configuration from backends.php.

Parameters

$server
Returns this labeled entry only.

Returns

mixed

If $server is set return this entry; else, return the entire servers array. Returns false on error.

public
# serialize( )

Implementation of

Serializable::serialize()
public
# unserialize( mixed $data )

Implementation of

Serializable::unserialize()
Constants summary
integer ACCESS_FOLDERS
# 1
integer ACCESS_SEARCH
# 2
integer ACCESS_FLAGS
# 3
integer ACCESS_UNSEEN
# 4
integer ACCESS_TRASH
# 5
integer ACCESS_CREATEMBOX
# 6
integer ACCESS_CREATEMBOX_MAX
# 7
integer ACCESS_COMPOSE_BODYSIZE
# 13
integer ACCESS_COMPOSE_RECIPIENTS
# 8
integer ACCESS_COMPOSE_TIMELIMIT
# 9
integer ACCESS_ACL
# 10
integer ACCESS_DRAFTS
# 11
integer ACCESS_REMOTE
# 12
integer ACCESS_IMPORT
# 14
integer ACCESS_SORT
# 15
string NS_DEFAULT
# "\0default"
Magic properties summary
public boolean $changed

If true, this object has changed.

public Horde_Imap_Client_Base $client_ob

The IMAP client object.

public IMP_Imap_Config $config

Base backend config settings.

public boolean $init

Has the IMAP object been initialized?

public integer $max_compose_bodysize

The maximum size (in bytes) of the compose message body.

public integer $max_compose_recipients

The maximum number of recipients to send to per compose message.

public integer $max_compose_timelimit

The maximum number of recipients to send to in the configured timelimit.

public integer $max_create_mboxes

The maximum number of mailboxes a user can create.

public string $server_key

Server key used to login.

public string $thread_algo

The threading algorithm to use.

public Horde_Imap_Client_Url $url

A URL object.

API documentation generated by ApiGen