imap_open

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

Description

int imap_open ( string mailbox, string username, string password [, int flags])

imap_open( ) retourne un flot 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( ) .

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



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

 
?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 :
 
?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 :
 
?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 :
 
?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:
 
?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 1 . Exemple avec imap_open( )

 
 ?php

 
$mbox

 
=

 
imap_open

 
(

 
"{votre.hote.imap:143}"

 
,

 
"nom_utilisateur"

 
,

 
"mot

 
de

 
passe")

 
;

 
echo

 
"

 
p

 
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

 
"

 
p

 
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)

 
;

 
?