imap_open

(PHP 4, PHP 5)

imap_openOuvre un flux IMAP vers une bo�te aux lettres

Description

resource imap_open ( string $mailbox , string $username , string $password [, int $options= NIL [, int $n_retries= 0 ]] )

Ouvre un flux IMAP vers la bo�te aux lettres mailbox .

Cette fonction peut aussi �tre utilis�e pour ouvrir des flots sur des serveurs POP3 et NNTP mais quelques fonctions et fonctionnalit�s ne sont disponibles qu'avec les serveurs IMAP.

Liste de param�tres

mailbox

Un nom de bo�te aux lettres est constitu� d'une adresse de serveur, et d'une adresse de bo�te sur ce serveur. Le mot r�serv� INBOX repr�sente la bo�te aux lettres de l'utilisateur courant. Les noms de bo�tes aux lettres qui contiennent des caract�res sp�ciaux (en dehors de l'espace ASCII) doivent �tre encod�s avec imap_utf7_encode().

L'adresse du serveur, mise entre accolades '{' et '}', est constitu�e du nom du serveur ou de son adresse IP, d'une sp�cification de protocole (commen�ant par '/') et d'un port optionnel (sp�cifi� avec ':').

Cette partie est obligatoire dans les param�tres de la bo�te aux lettres.

Tous les noms commen�ant par { sont des noms distants et sont sous la forme "{" nom_systeme_distant [":" port] [flags] "}" [nom_mailbox] o� :

  • remote_system_name : Nom de domaine Internet ou une adresse IP de serveur entour� de guillemets.
  • port : num�ro de port TCP (optionnel), la valeur par d�faut est la valeur du port pour ce service.
  • flags : options, voir la table suivante.
  • mailbox_name : nom de la mailbox distante, par d�faut : INBOX

Flags optionnels pour les noms
Flag Description
/service=service service pour l'acc�s � la mailbox, par d�faut : "imap"
/user=user nom de l'utilisateur distant pour l'identification sur le serveur
/authuser=user utilisateur distance d'identification ; si sp�cifi�, ce sera le nom de l'utilisateur dont le mot de passe est utilis� (e.g. administrator)
/anonymous acc�s distant en anonyme
/debug la t�l�m�trie d'enregistrement du protocole dans les logs de d�boguage de l'application
/secure ne transmet pas un mot de passe en clair � travers le r�seau
/imap, /imap2, /imap2bis, /imap4, /imap4rev1 �quivalent de /service=imap
/pop3 �quivalent de /service=pop3
/nntp �quivalent de /service=nntp
/norsh ne pas utiliser rsh ou ssh pour �tablir une session de pr� identification IMAP
/ssl utilise Secure Socket Layer pour crypter la session
/validate-cert valide les certificats depuis le serveur TLS/SSL (c'est le comportement par d�faut)
/novalidate-cert ne pas valider les certificats depuis le serveur TLS/SSL, n�cessaire si le serveur utilise des certificats auto-sign�s
/tls force l'utilisation de start-TLS pour chiffrer la session et rejette les connexions aux serveurs qui ne le supporte pas
/notls n'utilise pas start-TLS pour chiffrer la session, y compris avec les serveurs qui le supporte
/readonly demande un acc�s en lecture seule sur mailbox (IMAP uniquement ; ignor� sous NNTP, et une erreur avec SMTP et POP3)

username

Le nom d'utilisateur

password

Le mot de passe associ� avec l'utilisateur username

options

options est un masque de bit, qui peut prendre une ou plusieurs des valeurs suivantes :

  • OP_READONLY : Ouvre une bo�te aux lettres en lecture seule
  • OP_ANONYMOUS : Ne pas utiliser, ou modifier le fichier .newsrc pour les news (NNTP uniquement)
  • OP_HALFOPEN : Pour les noms IMAP et NNTP, ouvre une connexion mais n'ouvre pas une bo�te aux lettres.
  • CL_EXPUNGE : Supprime automatiquement la bo�te aux lettres de la liste, lors de la terminaison du flux (voir aussi imap_delete() and imap_expunge())
  • OP_DEBUG : n�gociations de d�boguage du protocole
  • OP_SHORTCACHE : Cache court (elt uniquement)
  • OP_SILENT : Ne pas transmettre les �v�nements (utilisation interne)
  • OP_PROTOTYPE : Retourne le prototype du driver
  • OP_SECURE : Ne pas effectuer des identifications non s�curis�es

n_retries

Le nombre maximal de tentatives de connexion.

Valeurs de retour

Retourne un flux IMAP en cas de succ�s, ou FALSE si une erreur survient.

Historique

Version Description
5.2.0 Le param�tre n_retries a �t� ajout�.

Exemples

Exemple #1 Diff�rentes utilisations de imap_open()

<?php
// Pour se connecter � un serveur IMAP fonctionnant sur le port 143 de la
// machine locale, faites ceci :
$mbox imap_open("{localhost:143}INBOX""user_id""password");

// Pour se connecter � un serveur POP3 fonctionnant sur le port 110 du
// serveur local, faites ceci :
$mbox imap_open ("{localhost:110/pop3}INBOX""user_id""password");

// Pour se connecter � un serveur SSL IMAP ou POP3, ajoutez /ssl
// apr�s la sp�cification du protocole :
$mbox imap_open ("{localhost:993/imap/ssl}INBOX""user_id""password");

// Pour se connecter � un serveur SSL IMAP ou POP3 avec un certificat auto-sign�
// ajoutez /ssl/novalidate-cert apr�s le protocole :
$mbox imap_open ("{localhost:995/pop3/ssl/novalidate-cert}""user_id""password");

// Pour se connecter � un serveur NNTP qui fonctionne sur
// le port 119 de la machine locale on peut utiliser la commande:
$nntp imap_open ("{localhost:119/nntp}comp.test""""");

// Pour se connecter � un serveur distant, remplacez "localhost" par
// le nom ou l'adresse IP de la machine.
?>

Exemple #2 Exemple avec imap_open()

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

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

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

echo 
"<h1>en-t�tes dans INBOX</h1>\n";
$headers imap_headers($mbox);

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

imap_close($mbox);
?>

Voir aussi