7.41 IMAP
7 Index des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes prédefinies . Voir aussi . imap_8bit . imap_alerts . imap_append . imap_base64 . imap_binary . imap_body . imap_bodystruct . imap_check . imap_clearflag_full . imap_close . imap_createmailbox . imap_delete . imap_deletemailbox . imap_errors . imap_expunge . imap_fetch_overview . imap_fetchbody . imap_fetchheader . imap_fetchstructure . imap_get_quota . imap_get_quotaroot . imap_getmailboxes . imap_getsubscribed . imap_header . imap_headerinfo . imap_headers . imap_last_error . imap_list . imap_listmailbox . imap_listscan . imap_listsubscribed . imap_lsub . imap_mail_compose . imap_mail_copy . imap_mail_move . imap_mail . imap_mailboxmsginfo . imap_mime_header_decode . imap_msgno . imap_num_msg . imap_num_recent ->imap_open . imap_ping . imap_qprint . imap_renamemailbox . imap_reopen . imap_rfc822_parse_adrlist . imap_rfc822_parse_headers . imap_rfc822_write_address . imap_scanmailbox . imap_search . imap_set_quota . imap_setacl . imap_setflag_full . imap_utf7_encode . imap_utf8
|
7.41.49 imap_open()
Ouvre un flôt
IMAP
vers une boîte aux lettres
[ Exemples avec imap_open ] PHP 3, PHP 4
resource
imap_open (
string
mailbox
,
string
username
,
string
password
,
int
options
)
imap_open
retourne un flôt
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 :
-
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 flôt.
Pour se connecter à un serveur
IMAP
, on peut utiliser la
commande suivante :
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 :
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 :
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 :
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:
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 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 == <TT>FALSE</TT> ) { 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 == <TT>FALSE</TT> ) { echo "Appel échoué<BR>\n"; } else { while (list ($key,$val) = each ($headers)) { echo $val."<BR>\n"; } } imap_close($mbox); ?>
|
|