imap_open

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_openÖffnet einen IMAP-Stream zu einem Postfach

Beschreibung

imap_open(
    string $mailbox,
    string $user,
    string $password,
    int $flags = 0,
    int $retries = 0,
    array $options = []
): IMAP\Connection|false

Öffnet einen IMAP-Stream zum Postfach mailbox.

Diese Funktion kann auch verwendet werden, um Streams zu POP3- und NNTP-Servern zu öffnen, einige Funktionen und Eigenschaften sind aber nur bei IMAP-Verbindungen verfügbar.

Parameter-Liste

mailbox

Ein Postfachname besteht aus einer Serveradresse und dem Pfad zum Postfach auf diesem Server. Der reservierte Name INBOX steht für das persönliche Postfach des aktuellen Benutzers. Enthält der Name des Postfachs internationale Zeichen außerhalb des druckbaren ASCII-Bereichs, so müssen diese mit imap_utf7_encode() kodiert werden.

Warnung

Die Übergabe von nicht vertrauenswürdigen Daten an diesen Parameter ist unsicher, falls imap.enable_insecure_rsh nicht deaktiviert ist.

Der Serverteil wird in '{' und '}' eingebettet und besteht aus der Domain oder der IP-Adresse des Servers, einer optionalen Portnummer (eingeleitet mit ':') und einer optionalen Protokollangabe (eingeleitet mit '/').

Die Angabe des Serverteils ist immer zwingend bei allen Postfach-Parametern.

Alle Namen, die mit { beginnen, bezeichnen Serverdienste und werden in der Form "{" remote_system_name [":" port] [flags] "}"[mailbox_name] angegeben:

  • remote_system_name - der Internet-Domain-Name oder die in Klammern gesetzte IP-Adresse des Servers
  • port - die optionale Portnummer, Standard ist der jeweilige Standardport des gewählten Protokolls
  • flags - optionale Flags, siehe folgende Tabelle
  • mailbox_name - der Name des gewünschten Serverpostfachs, Standard ist "INBOX"

Optionale Flags
Flag Beschreibung
/service=service Postfach-Zugriffsprotokoll, Standard ist "imap"
/user=user Benutzername für die Anmeldung am Mailserver
/authuser=user Benutzername für die Remote-Authentifizierung; falls angegeben, ist dies der Benutzername dessen Passwort verwendet wird (z. B. administrator)
/anonymous Zugriff als anonymer Benutzer
/debug Protokollausgaben im Debug-Log der Anwendung aufzeichnen
/secure Übertragung von Klartext-Passwörtern wird verhindert
/imap, /imap2, /imap2bis, /imap4, /imap4rev1 Kurzform für /service=imap
/pop3 Kurzform für /service=pop3
/nntp Kurzform für /service=nntp
/norsh Für eine vorauthentifizierte IMAP-Verbindung soll weder RSH noch SSH verwendet werden
/ssl Secure Socket Layer (SSL) zur Verschlüsselung der Verbindung verwenden
/validate-cert TLS/SSL-Zertifikate verifizieren (Standardverhalten)
/novalidate-cert TLS/SSL-Zertifikate nicht verifizieren; wird für selbstsignierte Zertifikate benötigt
/tls start-TLS-Verschlüsselung erzwingen und Verbindungen zu Servern, die dies nicht unterstützen, ablehnen
/notls start-TLS nicht zum Verschlüsseln der Verbindung verwenden, auch wenn es der Server unterstützt
/readonly Öffnen des Postfachs im Nur-Lese-Modus anfordern (nur für IMAP, NNTP ignoriert dies, POP3 und SMTP verweigern readonly-Verbindungen)

user

Der Benutzername

password

Das Passwort von user

flags

Der Parameter flags kann sich als Bitmaske aus folgenden Werten zusammensetzen:

  • OP_READONLY - nur lesende Zugriffe
  • OP_ANONYMOUS - ein existierendes .newsrc weder lesen noch aktualisieren (nur NNTP)
  • OP_HALFOPEN - Verbindung zum Server öffnen, aber noch kein Postfach auswählen (nur IMAP und NNTP)
  • CL_EXPUNGE - zum Löschen markierte Nachrichten beim Schließen des Postfachs automatisch entfernen (siehe auch imap_delete() und imap_expunge())
  • OP_DEBUG - Protokollverhandlungen debuggen
  • OP_SHORTCACHE - kurzes Caching (nur elt)
  • OP_SILENT - Ereignisse nicht weitergeben (interne Einstellung)
  • OP_PROTOTYPE - Treiber-Prototyp zurückgeben
  • OP_SECURE - keine unsichere Verbindung zum Server öffnen

retries

Maximale Anzahl der Verbindungsversuche

options

Verbindungsparameter; die folgenden (String-)Schlüssel können verwendet werden, um einen oder mehrere Verbindungsparameter anzugeben:

  • DISABLE_AUTHENTICATOR - Deaktiviere Authentifizierungs-Eigenschaften

Rückgabewerte

Gibt bei Erfolg eine IMAP\Connection-Instanz zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.1.0 Gibt jetzt eine IMAP\Connection-Instanz zurück; vorher wurde eine Ressource zurückgegeben.

Beispiele

Beispiel #1 Verschiedene imap_open()-Aufrufe

<?php
// Verbindung zu einem IMAP-Server auf Port 143 des lokalen Rechners
$mbox imap_open("143INBOX""user_id""password");

// Verbindung zu einem POP3-Server auf Port 110 des lokalen Rechners
$mbox imap_open ("110/pop3INBOX""user_id""password");

// Für SSL-verschlüsselte Verbindungen zu einem IMAP- oder POP3-Server wird
// /ssl an die Protokollspezifikation angefügt
$mbox imap_open ("993/imap/sslINBOX""user_id""password");

// Zur SSL-Verbindung mit IMAP- oder POP3-Servern mit selbstsignierten
// Zertifikaten muss zusätzlich /novalidate-cert angefügt werden
$mbox imap_open ("995/pop3/ssl/novalidate-cert""user_id""password");

// Verbindung zu einem NNTP-Server auf Port 119 des lokalen Rechners
$nntp imap_open ("119/nntpcomp.test""""");
// Für Verbindungen zu anderen Servern wird "localhost" mit dem Namen
// oder der IP-Adresse des Servers ersetzt
?>

Beispiel #2 imap_open()-Beispiel

<?php
$mbox 
imap_open("{imap.example.org:143}""username""password");

echo 
"<h1>Postfächer</h1>\n";
$folders imap_listmailbox($mbox"{imap.example.org:143}""*");

if (
$folders == false) {
    echo 
"Abruf fehlgeschlagen<br />\n";
} else {
    foreach (
$folders as $val) {
        echo 
$val "<br />\n";
    }
}

echo 
"<h1>Nachrichten in INBOX</h1>\n";
$headers imap_headers($mbox);

if (
$headers == false) {
    echo 
"Abruf fehlgeschlagen<br />\n";
} else {
    foreach (
$headers as $val) {
        echo 
$val "<br />\n";
    }
}

imap_close($mbox);
?>

Siehe auch

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Grundlagen von Views in MySQL

Views in einer MySQL-Datenbank bieten die Möglichkeit, eine virtuelle Tabelle basierend auf dem Ergebnis einer SQL-Abfrage zu erstellen. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Definition von Stored Procedures - eine Einführung

Stored Procedures sind vordefinierte SQL-Codeblöcke, die in einer Datenbank gespeichert sind und bei Bedarf aufgerufen werden können. ...

Bernie

Autor : ebiz-consult GmbH & Co. KG
Kategorie: mySQL-Tutorials

Wie kann man komplexe Abfragen mit SQL-Querys In MySQLi effektiv durchführen?

In diesem MySQL-Tutorial wird erklärt, wie komplexe SQL-Abfragen in MySQLi effizient durchgeführt werden können. Wir werden uns mit verschiedenen Aspekten der Datenbankabfrage beschäftigen und spezifische Methoden kennenlernen. ...

TheMax

Autor : TheMax
Kategorie: mySQL-Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Professioneller Webentwickler & Webdesigner

Of course, here is the translation: Hello, Thank you for your interest in the long-term project. Your extensive skills and experience in web dev ...

Geschrieben von Athelstan am 15.04.2024 09:25:39
Forum: Jobgesuche
Wir stellen unsere SEO-Agentur vor

Hallo In der heutigen digitalen Welt war es für Unternehmen noch nie so einfach, ihre Reichweite weltweit zu vergrößern. Wenn Sie außerhalb I ...

Geschrieben von thomasmuller am 14.04.2024 07:18:33
Forum: User stellen sich vor
Spielplan für 4 Gruppen zu je 6 Teams auf 2 Feldern

Hallöchen zusammen, ich versuche derzeit unseren Excel-Spielplan in PHP zu überführen. Eigentlich bin ich auch shon fertig - wenn da nicht dies ...

Geschrieben von derH0st am 11.04.2024 15:58:37
Forum: PHP Developer Forum
PHP 8.3.3 - App kann auf dem PC nicht ausgeführt werden

Problem gelöst. Die php.exe hatte einen defekt. Neue heruntergeladen und fertig.

Geschrieben von Tetra1081 am 10.04.2024 16:49:14
Forum: PHP Developer Forum