This is an example that gets IMAP servers from yellowpages (NIS).
you can simple put map:map_yp_alias in your $imap_server_address in config.php use your own function instead map_yp_alias to map your LDAP whatever way to find the users IMAP server.
Requires access to external ypmatch program FIXME: it can be implemented in php yp extension or pecl (since php 5.1.0)
string
map_yp_alias
(string $username)
OBSOLETE FUNCTION should be removed after mailbox_display,
printMessage function is adapted $addr_ar = array(), $group = '' and $host='' arguments are used in 1.4.0
void
parseAddress
(string $address, [integer $max = 0])
-
string
$address
-
integer
$max
sqimap_append (line
1504)
Saves a message to a given folder -- used for saving sent messages
string
sqimap_append
(stream $imap_stream, $sMailbox, $length $length, string $sent_folder)
-
stream
$imap_stream
-
string
$sent_folder
-
$length
$length
-
$sMailbox
sqimap_append_checkresponse (line
1533)
Displays error messages, if there are errors in responses to commands issues by sqimap_append() and sqimap_append_done() functions.
bool
sqimap_append_checkresponse
(string $response, string $sMailbox, [ $sid = ''], [ $query = ''])
-
string
$response
-
string
$sMailbox
-
$sid
-
$query
sqimap_append_done (line
1517)
void
sqimap_append_done
(stream $imap_stream, [ $sMailbox = ''], string $folder)
-
string
$folder: (since 1.3.2)
-
stream
$imap_stream: imap_stream
-
$sMailbox
sqimap_capability (line
1205)
Retrieve the CAPABILITY string from the IMAP server.
If capability is set, returns only that specific capability, else returns array of all capabilities.
mixed
sqimap_capability
(stream $imap_stream, [string $capability = ''], [boolean $bUseCache = true])
-
stream
$imap_stream
-
string
$capability: (since 1.3.0)
-
boolean
$bUseCache: (since 1.5.1) Controls use of capability data stored in session
sqimap_create_stream (line
690)
Connects to the IMAP server and returns a resource identifier for use with
the other SquirrelMail IMAP functions. Does NOT login!
imap-stream
sqimap_create_stream
(string $server, int $port, [integer $tls = 0], [array $stream_options = array()])
-
integer
$tls: whether to use plain text(0), TLS(1) or STARTTLS(2) when connecting. Argument was boolean before 1.5.1.
-
array
$stream_options: Stream context options, see config_local.php for more details (OPTIONAL)
-
string
$server: server hostname of IMAP server
-
int
$port: port port number to connect to
sqimap_encode_mailbox_name (line
1366)
This encodes a mailbox name for use in IMAP commands.
string
sqimap_encode_mailbox_name
(string $what)
-
string
$what: the mailbox to encode
sqimap_error_box (line
368)
Function to display an error related to an IMAP query.
void
sqimap_error_box
(string $title, [string $query = ''], [string $message_title = ''], [string $message = ''], [string $link = ''])
-
string
$link: an optional link to try again
-
string
$title: title the caption of the error box
-
string
$query: query the query that went wrong
-
string
$message_title: message_title optional message title
-
string
$message: message optional error message
Custom fgets function: gets a line from the IMAP server, no matter how big it may be.
string
sqimap_fgets
(stream $imap_stream)
-
stream
$imap_stream: the stream to read from
string
sqimap_fread
(stream $imap_stream, integer $iSize, [boolean $filter = false], [mixed $outputstream = false], [boolean $no_return = false])
-
stream
$imap_stream
-
integer
$iSize
-
boolean
$filter
-
mixed
$outputstream: stream or 'php://stdout' string
-
boolean
$no_return: controls data returned by function
sqimap_get_delimiter (line
1244)
Returns the delimiter between mailboxes: INBOX/Test, or INBOX.Test
string
sqimap_get_delimiter
([stream $imap_stream = false])
sqimap_get_namespace (line
1302)
Retrieves the namespaces from the IMAP server.
NAMESPACE is an IMAP extension defined in RFC 2342.
array
sqimap_get_namespace
(stream $imap_stream)
sqimap_get_num_messages (line
1381)
Gets the number of messages in the current mailbox.
OBSOLETE use sqimap_status_messages instead.
void
sqimap_get_num_messages
(stream $imap_stream, string $mailbox)
-
stream
$imap_stream: imap stream
-
string
$mailbox
sqimap_get_user_server (line
1609)
Allows mapping of IMAP server address with custom function
see map_yp_alias()
string
sqimap_get_user_server
(string $imap_server, string $username)
-
string
$imap_server: imap server address or mapping
-
string
$username
Logs the user into the IMAP server. If $hide is set, no error messages will be displayed (if set to 1, just exits, if set to 2, returns FALSE).
This function returns the IMAP connection handle.
mixed
sqimap_login
(string $username, string $password, string $imap_server_address, integer $imap_port, int $hide, [array $stream_options = array()])
-
string
$username: user name
-
string
$password: password encrypted with onetimepad. Since 1.5.2 function can use internal password functions, if parameter is set to boolean false.
-
string
$imap_server_address: address of imap server
-
integer
$imap_port: port of imap server
-
int
$hide: controls display connection errors:
- = do not hide
- = show no errors (just exit)
- = show no errors (return FALSE)
- = show no errors (return error string)
-
array
$stream_options: Stream context options, see config_local.php for more details (OPTIONAL)
sqimap_logout (line
1185)
Simply logs out the IMAP session
void
sqimap_logout
(stream $imap_stream)
-
stream
$imap_stream: the IMAP connection to log out.
sqimap_parse_namespace (line
1328)
Parses a NAMESPACE response and returns an array with the available personal, users and shared namespaces.
array
sqimap_parse_namespace
( &$input, string $input)
sqimap_prepare_pipelined_query (line
152)
void
sqimap_prepare_pipelined_query
(mixed $new_query, &$tag, &$aQuery, boolean $unique_id, string $tag, array $aQuery)
-
mixed
$new_query
-
string
$tag
-
array
$aQuery
-
boolean
$unique_id: see sqimap_session_id()
-
&$tag
-
&$aQuery
sqimap_read_data (line
666)
void
sqimap_read_data
(stream $imap_stream, string $tag_uid, boolean $handle_errors, &$response, &$message, [string $query = ''], [boolean $filter = false], [mixed $outputstream = false], [boolean $no_return = false], array $response, array $message)
-
stream
$imap_stream: imap string
-
string
$tag_uid
-
boolean
$handle_errors
-
array
$response
-
array
$message
-
string
$query: (since 1.2.5)
-
boolean
$filter: (since 1.4.1) see sqimap_fread()
-
mixed
$outputstream: (since 1.4.1) see sqimap_fread()
-
boolean
$no_return: (since 1.4.1) see sqimap_fread()
-
&$response
-
&$message
sqimap_read_data_list (line
336)
Obsolete function, inform plugins that use it
void
sqimap_read_data_list
(stream $imap_stream, string $tag, boolean $handle_errors, &$response, &$message, [string $query = ''], array $response, array $message)
-
stream
$imap_stream
-
string
$tag
-
boolean
$handle_errors
-
array
$response
-
array
$message
-
string
$query
-
&$response
-
&$message
sqimap_retrieve_imap_response (line
406)
Reads the output from the IMAP stream. If handle_errors is set to true, this will also handle all errors that are received. If it is not set, the errors will be sent back through $response and $message.
void
sqimap_retrieve_imap_response
(stream $imap_stream, string $tag, boolean $handle_errors, &$response, &$message, [string $query = ''], [boolean $filter = false], [mixed $outputstream = false], [boolean $no_return = false], array $response, array $message)
-
stream
$imap_stream: imap stream
-
string
$tag
-
boolean
$handle_errors: handle errors internally or send them in $response and $message.
-
array
$response
-
array
$message
-
string
$query: command that can be printed if something fails
-
boolean
$filter: see sqimap_fread()
-
mixed
$outputstream: see sqimap_fread()
-
boolean
$no_return: see sqimap_fread()
-
&$response
-
&$message
sqimap_run_command (line
91)
mixed
sqimap_run_command
(stream $imap_stream, string $query, boolean $handle_errors, &$response, &$message, [boolean $unique_id = false], [boolean $filter = false], [mixed $outputstream = false], [boolean $no_return = false], array $response, array $message)
-
stream
$imap_stream: imap connection resource
-
string
$query: imap command
-
boolean
$handle_errors: see sqimap_retrieve_imap_response()
-
array
$response: empty string, if return = false
-
array
$message: empty string, if return = false
-
boolean
$unique_id: (since 1.3.0) see sqimap_session_id()
-
boolean
$filter: (since 1.4.1 and 1.5.0) see sqimap_fread()
-
mixed
$outputstream: (since 1.4.1 and 1.5.0) see sqimap_fread()
-
boolean
$no_return: (since 1.4.1 and 1.5.0) see sqimap_fread()
-
&$response
-
&$message
sqimap_run_command_list (line
52)
Both send a command and accept the result from the command.
This is to allow proper session number handling.
mixed
sqimap_run_command_list
(stream $imap_stream, string $query, boolean $handle_errors, &$response, &$message, [boolean $unique_id = false], array $response, array $message)
-
stream
$imap_stream: imap connection resource
-
string
$query: imap command
-
boolean
$handle_errors: see sqimap_retrieve_imap_response()
-
array
$response
-
array
$message
-
boolean
$unique_id: (since 1.3.0) see sqimap_session_id().
-
&$response
-
&$message
sqimap_run_pipelined_command (line
172)
void
sqimap_run_pipelined_command
(stream $imap_stream, array $aQueryList, boolean $handle_errors, &$aServerResponse, &$aServerMessage, [boolean $unique_id = false], [boolean $filter = false], [mixed $outputstream = false], [boolean $no_return = false], array $aServerResponse, array $aServerMessage)
-
stream
$imap_stream: imap stream
-
array
$aQueryList
-
boolean
$handle_errors
-
array
$aServerResponse
-
array
$aServerMessage
-
boolean
$unique_id: see sqimap_session_id()
-
boolean
$filter: see sqimap_fread()
-
mixed
$outputstream: see sqimap_fread()
-
boolean
$no_return: see sqimap_fread()
-
&$aServerResponse
-
&$aServerMessage
sqimap_session_id (line
29)
Generates a new session ID by incrementing the last one used; this ensures that each command has a unique ID.
string
sqimap_session_id
([bool $unique_id = FALSE])
-
bool
$unique_id: (since 1.3.0) controls use of unique identifiers/message sequence numbers in IMAP commands. See IMAP rfc 'UID command' chapter.
sqimap_status_messages (line
1451)
Returns the status items of a mailbox.
Default it returns MESSAGES,UNSEEN and RECENT Supported status items are MESSAGES, UNSEEN, RECENT (since 1.4.0), UIDNEXT (since 1.5.1) and UIDVALIDITY (since 1.5.1)
array
sqimap_status_messages
(stream $imap_stream, string $mailbox, [array $aStatusItems = array('MESSAGES','UNSEEN','RECENT')])
-
stream
$imap_stream: imap stream
-
string
$mailbox: mail folder
-
array
$aStatusItems: status items
sqimap_unseen_messages (line
1435)
Returns the number of unseen messages in this folder.
obsoleted by sqimap_status_messages ! Arguments differ in 1.0.x
integer
sqimap_unseen_messages
(stream $imap_stream, string $mailbox)
-
stream
$imap_stream
-
string
$mailbox
_adaptAddress (line
1417)
OBSOLETE FUNCTION should be removed after mailbox_display, printMessage function is adapted
callback function used for formating of addresses array in parseAddress() function
void
_adaptAddress
( &$aAddr, integer $k, array $aAddr)
-
array
$aAddr
-
integer
$k: array key
-
&$aAddr