Forum und email

IMAP, POP3 and NNTP Functions

Einführung

Die Funktionen dieser Extension ermöglichen die Kommunikation mit IMAP, NNTP und POP3 Servern sowie den Zugriff auf lokale Mailbox-Dateien.

Einige Funktionen dieser Extension setzten allerdings das IMAP-Protokoll voraus.

Anforderungen

Diese Extension benötigt die c-client Bibliothek, die jeweils aktuelle Version des Quellcodes dieser Bibliothek findet sich unter » ftp://ftp.cac.washington.edu/imap/.

Wenn Sie die Bibliothek selbst kompilieren ist es wichtig das Sie die Headerdateien nicht direkt im Standard-Includeverzeichnis ablegen da dies zu Namenskonflikten führen kann. Stattdessen sollten sie ein neues Unterverzeichnis, z.B. /usr/local/imap-2000b/, mit zwei weiteren Unterverzeichnissen lib und include anlegen. Kopieren sie alle *.h aus den c-client Quellcodeverzeichnis in das neue include Verzeichnis und alle *.c Dateien in das neue lib Verzeichnis. Die bei der Kompilation des Bibliotheksquellcodes erzeugte Datei c-client.a kopieren als libc-client.a ebenfalls in das neue lib Verzeichnis.

Hinweis: Nähere Informationen zur Aktivierung der SSL und Kerberos Unterstützung der Bibliothek finden Sie in der im Sourcepacket enthaltenen Dokumentation.

Hinweis: Mandrake Linux liefert die IMAP Bibliothek libc-client.a) ohne Kerberos-Unterstützung aus. Eine seperate Version mit SSL-Unterstützung wird als client-PHP4.a mitgeliefert. Für Kerberos-Unterstützung müssen Sie die Bibliothek selbst kompilieren.

Installation

Um diese Funktionen zu nutzen müssen sie PHP mit --with-imap[=DIR] kompilieren, wobei DIR der Installationsprefix der c-client Bibliothek ist. Wenn Sie diese wie oben angegeben installiert haben können Sie --with-imap=/usr/local/imap-2000b als Konfigurationsoption angeben. Windows-Benutzer können die php_imap.dll DLL in php.ini einbinden. IMAP wird beginnend mit Windows 2000 unterstützt, älteren Windows-Versionen fehlen die benötigten Verschlüsselungsfunktionen um SSL-verschlüsselte Verbindungen zum Mailserver zu ermöglichen.

Hinweis: Je nachdem wie c-client konfiguriert wurde müssen Sie eventuall --with-imap-ssl=/path/to/openssl/ und/oder --with-kerberos=/path/to/kerberos zu den PHP Konfigurationsoptionen hinzufügen.

Warnung

Die IMAP Erweiterung kann nicht zusammen mit recode, YAZ oder Cyrusverwendet werden. Diese Tatsache liegt darin begründet, dass beide Erweiterungen gleiche interne Symbole benutzen.

Laufzeit Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.

Resource Typen

Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

NIL (integer)
OP_DEBUG (integer)
OP_READONLY (integer)
Postfach nur zum Lesen öffnen
OP_ANONYMOUS (integer)
Für News keine .newsrc Datei lesen oder schreiben (nur NNTP)
OP_SHORTCACHE (integer)
OP_SILENT (integer)
OP_PROTOTYPE (integer)
OP_HALFOPEN (integer)
Verbindung aufbauen aber noch kein Postfach öffnen (IMAP und NNTP)
OP_EXPUNGE (integer)
OP_SECURE (integer)
CL_EXPUNGE (integer)
Löschen aller dazu markierten Nachrichten beim Beenden der Verbindung mit imap_close()
FT_UID (integer)
Der Parameter ist eine UID
FT_PEEK (integer)
Das \Seen Flag nicht verändern
FT_NOT (integer)
FT_INTERNAL (integer)
Der Ergebnistext ist in internem Format, es wurde keine Umwandlung der Zeilenenden vorgenommen.
FT_PREFETCHTEXT (integer)
ST_UID (integer)
Die übergebene Sequenz enthält UIDs an Stelle von Nachrichtennummern
ST_SILENT (integer)
ST_SET (integer)
CP_UID (integer)
Die Sequenz enthält UIDs
CP_MOVE (integer)
Lösche Nachrichten aus dem aktuellen Postfach nachdem sie mit imap_mail_copy() kopiert wurden.
SE_UID (integer)
Liefere UIDs an Stelle von Nachrichtennummern zurück
SE_FREE (integer)
SE_NOPREFETCH (integer)
Suchergebnisse nicht vorab übertragen
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)
Das Postfach enthält keine weiteren Unterpostfächer
LATT_NOSELECT (integer)
Dieses Postfach enthält nur Unterpostfächer, keine Nachrichten, und kann daher nicht geöffnet werden
LATT_MARKED (integer)
Das Postfach ist markiert (nur UW-IMAPD)
LATT_UNMARKED (integer)
Das Postfach ist nicht markiert (nur UW-IMAPD)
SORTDATE (integer)
Sortieren nach Sendedatum in imap_sort()
SORTARRIVAL (integer)
Sortieren nach Empfangsdatum in imap_sort()
SORTFROM (integer)
Sortieren nach Absender in imap_sort()
SORTSUBJECT (integer)
Sortieren nach Betreff in imap_sort()
SORTTO (integer)
Sortieren nach Empfänger in imap_sort()
SORTCC (integer)
Sortieren nach Cc Adresse in imap_sort()
SORTSIZE (integer)
Sortieren nach Größe in imap_sort()
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)

Siehe auch

Dieses Dokument kann nicht alle von den enthaltenen Funktionen berührten Themenbereiche im Detail beschreiben. Weitergehende Informatione finden sie in der Dokumentation zum c-client Sourcecode (docs/internal.txt) und in den folgenden RFC Standarddokumenten:

Einen detailierten Überblick über die relevanten Themen bieten auch die Bücher » Programming Internet Email von David Wood und » Managing IMAP von Dianna Mullet & Kevin Mullet.

Inhaltsverzeichnis