PHP 手冊
上一頁 |  | 下一頁

# XLIV.IMAP, POP3 and NNTP Functions

# 介紹

These functions are not limited to the IMAP protocol, despite their name. The underlying c-client library also supports NNTP, POP3 and local mailbox access methods.

# 需求

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`.

> 備注: To build the c-client library with SSL or/and Kerberos support read the docs supplied with the package.

# 安裝

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`

> 備注: 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.

切記!
由於所使用的內部符號相同﹐IMAP 函數不能與 recode 或 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)

# 參考

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:

- RFC2821: Simple Mail Transfer Protocol (SMTP).

- RFC2822: Standard for ARPA internet text messages.

- RFC2060: Internet Message Access Protocol (IMAP) Version 4rev1.

- RFC1939: Post Office Protocol Version 3 (POP3).

- RFC977: Network News Transfer Protocol (NNTP).

- RFC2076: Common Internet Message Headers.

- RFC2045 , RFC2046 , RFC2047 , RFC2048 & RFC2049: Multipurpose Internet Mail Extensions (MIME).

A detailed overview is also available in the books Programming Internet Email by David Wood and Managing IMAP by Dianna Mullet & Kevin Mullet.

上一頁 | 最開頭 | 下一頁
png2wbmp | 上一層 | imap_8bit