Manuel PHP
Précédent |  | Suivant

# imap_open

(PHP 3, PHP 4 , PHP 5)

imap_open -- Ouvre un flux IMAP vers une boîte aux lettres

## Description

resource imap_open ( string mailbox, string username, string password [, int options])

imap_open() retourne un flux IMAP en cas de succès, et `FALSE` en cas d'erreur. imap_open() peut aussi être utilisée pour ouvrir des flots sur des serveurs POP3 et NNTP.

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. L'adresse du serveur, mise entre accolades '{' et '}', est constitué 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. 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().

`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.

- `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.

Pour se connecter à un serveur IMAP, on peut utiliser la commande suivante :

Exemple 1. Connexion à un serveur IMAP avec imap_open()

`<?php $mbox = imap_open("{localhost:143}INBOX","user_id","password"); ?>`

Pour se connecter à un serveur POP3 qui fonctionne sur le port 110 de la machine locale on peut utiliser la commande suivante :

Exemple 2. Connexion à un serveur POP3 avec imap_open()

`<?php $mbox = imap_open("{localhost:110/pop3}INBOX","user_id","password"); ?>`

Pour se connecter à un serveur IMAP SSL ou POP3 SSL, ajoutez `/ssl` après le protocole :

Exemple 3. Connexion à un serveur IMAP SSL ou POP3 SSL avec imap_open()

`<?php $mbox = imap_open("{localhost:993/imap/ssl}INBOX", "user_id", "password"); ?>`

Pour se connecter à un serveur SSL IMAP ou POP3 avec un certificat ajoutez `/ssl/novalidate-cert` après le protocole :

Exemple 4. Connexion à un serveur IMAP SSL ou POP3 SSL avec imap_open() et un certificat

`<?php $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:

Exemple 5. Connexion à un serveur NNTP avec imap_open()

`<?php $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 6. Exemple avec imap_open()

`<?php
$mbox = imap_open("{votre.hote.imap:143}", "nom_utilisateur", "mot de passe");
echo "<h1>Mailboxes</h1>\n";
$folders = imap_listmailbox($mbox, "{votre.hote.imap:143}", "*");
if ($folders == false) {
echo "Appel échoué<br />\n";
} else {
while (list($key, $val) = each($folders)) {
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 {
while (list ($key,$val) = each ($headers)) {
echo $val . "<br />\n";
}
}
imap_close($mbox);
?>`

Précédent | Sommaire | Suivant
imap_num_recent | Niveau supérieur | imap_ping