Введение
These functions enable you to operate with the IMAP
protocol, as well as the NNTP, POP3
and local mailbox access methods.
Be warned however, that some of IMAP functions will not work correctly
with the POP protocol.
Требования
This extension requires the c-client library to be installed.
Grab the latest version from » ftp://ftp.cac.washington.edu/imap/
and compile it.
It's important that you do not copy the IMAP source files directly into
the system include directory as there may be conflicts. Instead, create
a new directory inside the system include directory, such as
/usr/local/imap-2000b/ (location and name
depend on your setup and IMAP version), and inside this new
directory create additional directories named lib/
and include/. From the c-client
directory from your IMAP source tree, copy all the *.h
files into include/ and all the
*.c files into lib/.
Additionally when you compiled IMAP, a file named
c-client.a was created. Also put this in the
lib/ directory but rename it as
libc-client.a.
Note:
To build the c-client library with SSL or/and Kerberos support read
the docs supplied with the package.
Note:
In Mandrake Linux, the IMAP library (libc-client.a)
is compiled without Kerberos support. A separate version with SSL
(client-PHP4.a) is installed. The library must
be recompiled in order to add Kerberos support.
Установка
To get these functions to work, you have to compile PHP with
--with-imap[=DIR], where DIR is the
c-client install prefix. From our example above, you would use
--with-imap=/usr/local/imap-2000b.
This location depends on where you created this directory according to the
description above. Windows users may include the
php_imap.dll DLL in php.ini.
IMAP is not supported on systems earlier that Windows 2000. This is because it
uses encryption functions in order to enable SSL connections to the mail
servers.
Note:
Depending how the c-client was configured, you might also need to add
--with-imap-ssl=/path/to/openssl/
and/or --with-kerberos=/path/to/kerberos
into the PHP configure line.
WarningРасширение IMAP не может использоваться вместе с расширениями
перекодировки или YAZ. Это связано с тем фактом, что они оба
используют один и тот же внутренний символ.
Настройка во время выполнения
Данное расширение не определяет никакие директивы конфигурации в php.ini.
Предопределенные константы
Перечисленные ниже константы определены данным расширением и могут быть
доступны только в том случае, если PHP был собран с
поддержкой этого расширения или же в том случае, если
данное расширение подгружается во время выполнения.
-
NIL
(integer)
-
-
OP_DEBUG
(integer)
-
-
OP_READONLY
(integer)
-
Open mailbox read-only
-
OP_ANONYMOUS
(integer)
-
Don't use or update a .newsrc for news
(NNTP only)
-
OP_SHORTCACHE
(integer)
-
-
OP_SILENT
(integer)
-
-
OP_PROTOTYPE
(integer)
-
-
OP_HALFOPEN
(integer)
-
For IMAP and NNTP names, open a connection but don't open a mailbox.
-
OP_EXPUNGE
(integer)
-
-
OP_SECURE
(integer)
-
-
CL_EXPUNGE
(integer)
-
silently expunge the mailbox before closing when
calling imap_close()
-
FT_UID
(integer)
-
The parameter is a UID
-
FT_PEEK
(integer)
-
Do not set the \Seen flag if not already set
-
FT_NOT
(integer)
-
-
FT_INTERNAL
(integer)
-
The return string is in internal format, will not canonicalize to CRLF.
-
FT_PREFETCHTEXT
(integer)
-
-
ST_UID
(integer)
-
The sequence argument contains UIDs instead of sequence numbers
-
ST_SILENT
(integer)
-
-
ST_SET
(integer)
-
-
CP_UID
(integer)
-
the sequence numbers contain UIDS
-
CP_MOVE
(integer)
-
Delete the messages from the current mailbox after copying
with imap_mail_copy()
-
SE_UID
(integer)
-
Return UIDs instead of sequence numbers
-
SE_FREE
(integer)
-
-
SE_NOPREFETCH
(integer)
-
Don't prefetch searched messages
-
SO_FREE
(integer)
-
-
SO_NOSERVER
(integer)
-
-
SA_MESSAGES
(integer)
-
-
SA_RECENT
(integer)
-
-
SA_UNSEEN
(integer)
-
-
SA_UIDNEXT
(integer)
-
-
SA_UIDVALIDITY
(integer)
-
-
SA_ALL
(integer)
-
-
LATT_NOINFERIORS
(integer)
-
This mailbox has no "children" (there are no
mailboxes below this one).
-
LATT_NOSELECT
(integer)
-
This is only a container, not a mailbox - you
cannot open it.
-
LATT_MARKED
(integer)
-
This mailbox is marked. Only used by UW-IMAPD.
-
LATT_UNMARKED
(integer)
-
This mailbox is not marked. Only used by
UW-IMAPD.
-
SORTDATE
(integer)
-
Sort criteria for imap_sort():
message Date
-
SORTARRIVAL
(integer)
-
Sort criteria for imap_sort():
arrival date
-
SORTFROM
(integer)
-
Sort criteria for imap_sort():
mailbox in first From address
-
SORTSUBJECT
(integer)
-
Sort criteria for imap_sort():
message subject
-
SORTTO
(integer)
-
Sort criteria for imap_sort():
mailbox in first To address
-
SORTCC
(integer)
-
Sort criteria for imap_sort():
mailbox in first cc address
-
SORTSIZE
(integer)
-
Sort criteria for imap_sort():
size of message in octets
-
TYPETEXT
(integer)
-
-
TYPEMULTIPART
(integer)
-
-
TYPEMESSAGE
(integer)
-
-
TYPEAPPLICATION
(integer)
-
-
TYPEAUDIO
(integer)
-
-
TYPEIMAGE
(integer)
-
-
TYPEVIDEO
(integer)
-
-
TYPEOTHER
(integer)
-
-
ENC7BIT
(integer)
-
-
ENC8BIT
(integer)
-
-
ENCBINARY
(integer)
-
-
ENCBASE64
(integer)
-
-
ENCQUOTEDPRINTABLE
(integer)
-
-
ENCOTHER
(integer)
-
-
IMAP_OPENTIMEOUT
(integer)
-
-
IMAP_READTIMEOUT
(integer)
-
-
IMAP_WRITETIMEOUT
(integer)
-
-
IMAP_CLOSETIMEOUT
(integer)
-
-
LATT_REFERRAL
(integer)
-
-
LATT_HASCHILDREN
(integer)
-
-
LATT_HASNOCHILDREN
(integer)
-
-
TYPEMODEL
(integer)
-
Смотрите также
This document can't go into detail on all the topics touched by
the provided functions. Further information is provided by the
documentation of the c-client library source
(docs/internal.txt). and the following RFC
documents:
A detailed overview is also available in the books
» Programming Internet Email
by David Wood and
» Managing
IMAP by Dianna Mullet & Kevin Mullet.