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

  • imap_8bit — Konvertiert einen 8bit String in einen quoted-printable String
  • imap_alerts — Liefert alle aufgetretenen IMAP Alarmnachrichten
  • imap_append — String als Nachricht in einem Postfach ablegen
  • imap_base64 — Dekodiert Base-64 kodierten Text
  • imap_binary — Konvertiert einen 8 Bit String in einen Base64 codierten String
  • imap_body — Liefert den Körper einer Nachricht
  • imap_bodystruct — Liefert die Struktur eines bestimmten Nachrichtenteils
  • imap_check — Informationen zum aktuellen Postfach
  • imap_clearflag_full — Löscht Flags einer Nachricht
  • imap_close — Schließt einen IMAP Stream
  • imap_createmailbox — Anlegen eines neuen Postfachs
  • imap_delete — Nachrichten im aktuellen Postfach zur Löschung markieren
  • imap_deletemailbox — Löscht ein Postfach
  • imap_errors — Diese Funktion liefert alle bisher aufgetretenen Fehlermeldungen
  • imap_expunge — Löscht alle zum Löschen markierte Nachrichten
  • imap_fetch_overview — Liefert einen Auszug aus den Kopfdaten von Nachrichten
  • imap_fetchbody — Liefert einen bestimmten Abschnitt aus dem Körper einer Nachricht
  • imap_fetchheader — Liefert den Kopf einer Nachricht
  • imap_fetchstructure — Ermittelt die Struktur einer Nachricht
  • imap_get_quota — Liefert Quota-Beschränkungen und Nutzungsstatistik der Postfächer
  • imap_get_quotaroot — Liefert die Quota-Beschränkungen für ein Benutzerpostfach
  • imap_getacl — Liste der Zugriffsrechte für ein Postfach bestimmen
  • imap_getmailboxes — Liefert detailierte Informationen zu allen verfügbaren Postfächern
  • imap_getsubscribed — Liste aller abonnierten Postfächer
  • imap_header — Alias von imap_headerinfo
  • imap_headerinfo — Liest die Kopfdaten einer Nachricht
  • imap_headers — Liefert eine Zusammenfassung aller Nachrichtenköpfe eines Postfachs
  • imap_last_error — Liefert die letzte IMAP-Fehlermeldung für dieses Script
  • imap_list — Liste der Postfächer lesen
  • imap_listmailbox — Alias von imap_list
  • imap_listscan — Listet Postfächer nach Suchkriterien
  • imap_listsubscribed — Alias von imap_lsub
  • imap_lsub — Liste aller abonierten Postfächer
  • imap_mail_compose — Erzeugt eine MIME-Nachricht aus Kopf- und Nachrichtenelementen
  • imap_mail_copy — Kopiert Nachrichten in ein Postfach
  • imap_mail_move — Verschiebt Nachrichten in ein anderes Postfach
  • imap_mail — Sendet eine Email Nachricht
  • imap_mailboxmsginfo — Informationen zum aktuellen Postfach
  • imap_mime_header_decode — Dekodiert MIME-codierte Headerzeilen
  • imap_msgno — Liefert die Nachrichtennummer für eine gegebene UID
  • imap_num_msg — Anzahl der Nachrichten im aktuellen Postfach
  • imap_num_recent — Nummer der kürzlich eingetroffenen Nachrichten
  • imap_open — Öffnet eine Verbindung zu einem Mailserver-Postfach
  • imap_ping — Prüft einen IMAP-Stream auf Funktionalität
  • imap_qprint — Konvertiert einen quoted-printable kodierten String in einen 8 Bit String
  • imap_renamemailbox — Ändert den Namen eines Postfachs
  • imap_reopen — Wechselt das aktuelle Postfach der Verbindung
  • imap_rfc822_parse_adrlist — Zerlegt einen Mailadressstring
  • imap_rfc822_parse_headers — Email-Kopfzeilen aus einem String auslesen
  • imap_rfc822_write_address — Bildet aus Realnamen, Postfach und Server eine korekt formatierte Mail-Adresse
  • imap_savebody — Speichert einen bestimmten Body-Abschnitt einer Nachricht als Datei
  • imap_scanmailbox — Alias von imap_listscan
  • imap_search — Liefert ein Array von Nachrichten die den gegebenen Suchkriterien entsprechen
  • imap_set_quota — Setzt die Mengenbeschrenkung für ein Postfach
  • imap_setacl — Setzen der ACL für ein Postfach
  • imap_setflag_full — Setzt Nachrichtenflags
  • imap_sort — Sortiert Nachrichten eines Postfachs
  • imap_status — Liefert Statusinformationen zum angegebenen Postfach
  • imap_subscribe — Abbonieren eines Postfachs
  • imap_thread — Liefert einen Baum zusammenhängender Nachrichten
  • imap_timeout — IMAP timeout setzen oder abfragen
  • imap_uid — Liefert die UID für die gegebene Nachrichtennummer
  • imap_undelete — Nimmt eine bereits gesetzte Löschmarkierung einer Nachricht zurück
  • imap_unsubscribe — Abbonement eines Postfachs rückgängig machen
  • imap_utf7_decode — Dekodiert einem String im modifizierten UTF-7 Format.
  • imap_utf7_encode — Kodiert ISO-8859-1 Text im modifizieren UTF-7 Format
  • imap_utf8 — Konvertiert Text zu UTF8