Overview

Packages

  • Imap
    • Client

Classes

  • Horde_Imap_Client
  • Horde_Imap_Client_Auth_DigestMD5
  • Horde_Imap_Client_Base
  • Horde_Imap_Client_Cache
  • Horde_Imap_Client_Data_Acl
  • Horde_Imap_Client_Data_AclCommon
  • Horde_Imap_Client_Data_AclNegative
  • Horde_Imap_Client_Data_AclRights
  • Horde_Imap_Client_Data_Envelope
  • Horde_Imap_Client_Data_Fetch
  • Horde_Imap_Client_Data_Fetch_Pop3
  • Horde_Imap_Client_Data_Thread
  • Horde_Imap_Client_DateTime
  • Horde_Imap_Client_Exception
  • Horde_Imap_Client_Exception_NoSupportExtension
  • Horde_Imap_Client_Fetch_Query
  • Horde_Imap_Client_Ids
  • Horde_Imap_Client_Ids_Pop3
  • Horde_Imap_Client_Mailbox
  • Horde_Imap_Client_Search_Query
  • Horde_Imap_Client_Socket
  • Horde_Imap_Client_Socket_Pop3
  • Horde_Imap_Client_Sort
  • Horde_Imap_Client_Translation
  • Horde_Imap_Client_Utf7imap
  • Horde_Imap_Client_Utils
  • Horde_Imap_Client_Utils_Pop3
  • Overview
  • Package
  • Class
  • Tree

Class Horde_Imap_Client_Socket

An interface to an IMAP4rev1 server (RFC 3501) using built-in PHP features.

Implements the following IMAP-related RFCs (see http://www.iana.org/assignments/imap4-capabilities): - RFC 2086/4314: ACL - RFC 2087: QUOTA - RFC 2088: LITERAL+ - RFC 2195: AUTH=CRAM-MD5 - RFC 2221: LOGIN-REFERRALS - RFC 2342: NAMESPACE - RFC 2595/4616: TLS & AUTH=PLAIN - RFC 2831: DIGEST-MD5 authentication mechanism (obsoleted by RFC 6331) - RFC 2971: ID - RFC 3348: CHILDREN - RFC 3501: IMAP4rev1 specification - RFC 3502: MULTIAPPEND - RFC 3516: BINARY - RFC 3691: UNSELECT - RFC 4315: UIDPLUS - RFC 4422: SASL Authentication (for DIGEST-MD5) - RFC 4466: Collected extensions (updates RFCs 2088, 3501, 3502, 3516) - RFC 4469/5550: CATENATE - RFC 4551: CONDSTORE - RFC 4731: ESEARCH - RFC 4959: SASL-IR - RFC 5032: WITHIN - RFC 5161: ENABLE - RFC 5162: QRESYNC - RFC 5182: SEARCHRES - RFC 5255: LANGUAGE/I18NLEVEL - RFC 5256: THREAD/SORT - RFC 5258: LIST-EXTENDED - RFC 5267: ESORT; PARTIAL search return option - RFC 5464: METADATA - RFC 5530: IMAP Response Codes - RFC 5819: LIST-STATUS - RFC 5957: SORT=DISPLAY - RFC 6154: SPECIAL-USE/CREATE-SPECIAL-USE - RFC 6203: SEARCH=FUZZY

Implements the following non-RFC extensions:

  • draft-ietf-morg-inthread-01: THREAD=REFS
  • XIMAPPROXY
    • Requires imapproxy v1.2.7-rc1 or later
    • See http://lists.andrew.cmu.edu/pipermail/imapproxy-info/2008-October/000771.html and http://lists.andrew.cmu.edu/pipermail/imapproxy-info/2008-October/000772.html

TODO (or not necessary?):

  • RFC 2177: IDLE
    • Probably not necessary due to the limited connection time of each HTTP/PHP request
  • RFC 2193: MAILBOX-REFERRALS
  • RFC 4467/5092/5524/5550/5593: URLAUTH, URLAUTH=BINARY, URL-PARTIAL
  • RFC 4978: COMPRESS=DEFLATE
    • See: http://bugs.php.net/bug.php?id=48725
  • RFC 5257: ANNOTATE (Experimental)
  • RFC 5259: CONVERT
  • RFC 5267: CONTEXT=SEARCH; CONTEXT=SORT
  • RFC 5465: NOTIFY
  • RFC 5466: FILTERS
  • RFC 5738: UTF8 (Very limited support currently)
  • RFC 6237: MULTISEARCH
  • draft-ietf-morg-inthread-01: SEARCH=INTHREAD
    • Appears to be dead
  • draft-krecicki-imap-move-01.txt: MOVE
    • Appears to be dead

Originally based on code from: - auth.php (1.49) - imap_general.php (1.212) - imap_messages.php (revision 13038) - strings.php (1.184.2.35) from the Squirrelmail project. Copyright (c) 1999-2007 The SquirrelMail Project Team

Copyright 2005-2012 Horde LLC (http://www.horde.org/)

See the enclosed file COPYING for license information (LGPL). If you did not receive this file, see http://www.horde.org/licenses/lgpl21.

Horde_Imap_Client_Base implements Serializable
Extended by Horde_Imap_Client_Socket
Package: Imap\Client
Category: Horde
License: LGPL 2.1
Author: Michael Slusarz slusarz@horde.org
Located at Horde/Imap/Client/Socket.php
Methods summary
public
# __construct( array $params = array() )

Parameters

$params
<p>A hash containing configuration parameters. Additional parameters to base driver: - debug_literal: (boolean) If true, will output the raw text of literal responses to the debug stream. Otherwise, outputs a summary of the literal response.</p>

Overrides

Horde_Imap_Client_Base::__construct()
public array
# alerts( )

Returns

array
An array of alert messages.
public string
# parseCommandArrayCallback( string $cmd, mixed $data )

Callback for parseCommandArray() when literal data is found.

Callback for parseCommandArray() when literal data is found.

Parameters

$cmd
The unprocessed command string.
$data
The literal data (either a string or a resource).

Returns

string
The new unprocessed command string.
Methods inherited from Horde_Imap_Client_Base
__destruct(), __get(), _setInit(), allAclRights(), append(), capability(), check(), close(), copy(), createMailbox(), currentMailbox(), deleteMailbox(), expunge(), fetch(), fetchCacheIgnore(), fetchFromSectionString(), getACL(), getCache(), getCacheId(), getComparator(), getID(), getIdsOb(), getLanguage(), getMetadata(), getMyACLRights(), getNamespaces(), getParam(), getQuota(), getQuotaRoot(), isSecureConnection(), listACLRights(), listMailboxes(), login(), logout(), noop(), openMailbox(), parseCacheId(), queryCapability(), renameMailbox(), search(), sendID(), serialize(), setACL(), setComparator(), setLanguage(), setMetadata(), setParam(), setQuota(), status(), statusMultiple(), store(), subscribeMailbox(), thread(), unserialize(), validSearchCharset(), writeDebug()
Constants inherited from Horde_Imap_Client_Base
CACHE_MODSEQ, CACHE_SEARCH, VERSION
Properties inherited from Horde_Imap_Client_Base
$cache, $cacheFields, $changed
Magic properties inherited from Horde_Imap_Client_Base
$utils
API documentation generated by ApiGen