imap_open
(PHP 4, PHP 5, PHP 7)
imap_open — Ouvre un flux IMAP vers une boîte aux lettres
Description
$mailbox
, string $username
, string $password
[, int $options
= 0
[, int $n_retries
= 0
[, array $params
= NULL
]]] )
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.
-
params
-
Paramètres de connexion ; les clés peuvent être utilisées pour définir un ou plusieurs paramètres de connexion :
- DISABLE_AUTHENTICATOR - Désactive les propriétés d'authentification
Historique
Version | Description |
---|---|
5.3.2 | Le paramètre params a été ajouté. |
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);
?>
Version en cache
26/11/2024 09:13:13 Cette version de la page est en cache (à la date du 26/11/2024 09:13:13) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-imap-open.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.