imap_open
(PHP 4, PHP 5)
imap_open — Ouvre un flux IMAP vers une bo�te aux lettres
Description
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);
?>