Introduction
Ces fonctions vous permettent d'utiliser le protocole IMAP,
mais aussi les protocoles NNTP, POP3
et les boîtes aux lettres locales.
Cependant, soyez prudent car quelques fonctions IMAP ne fonctionnent pas
correctement avec le protocole POP.
Pré-requis
Cette extension requiert la bibliothèque C cliente. Téléchargez
cette dernière version à » ftp://ftp.cac.washington.edu/imap/
et compilez-la.
Il est important de ne pas copier les fichiers sources IMAP directement
dans le dossier d'inclusion système sous peine de conflits. À la place de cela,
créez un nouveau dossier dans le dossier d'inclusion système, comme
/usr/local/imap-2000b/ (le chemin et le nom
dépendent de votre configuration et de votre version d'IMAP) et dans ce nouveau
dossier, créez les dossiers nommés lib/ et
include/. Depuis le dossier
c-client des sources IMAP, copiez tous les fichiers
*.h dans le dossier include/
et tous les fichiers *.c dans le dossier
lib/. Additionnellement, lorsque vous compilez IMAP, un
fichier nommé c-client.a est crée. Mettez le également
dans le dossier lib/ mais renommez le en
libc-client.a.
Note:
Pour compiler la bibliothèque C cliente avec
SSL et/ou avec le support Kerberos, lisez la doc fournie dans
la distribution.
Note:
Sur Mandrake Linux, la bibliothèque IMAP
(libc-client.a) est compilée sans le support
Kerberos. Une version séparée avec SSL
(client-PHP4.a) est installée. La bibliothèque doit
être recompilée pour ajouter le support Kerberos.
Installation
Pour avoir accès à ces fonctions, vous devez compiler PHP
avec l'option --with-imap[=DIR],
où DIR est le préfixe de l'installation du client C.
Dans nos exemples, vous pourriez utiliser
--with-imap=/usr/local/imap-2000b. Le nom du dossier
d'installation dépend de l'emplacement où vous avez créé le dossier,
en fonction de la description ci-dessus. Les utilisateurs
Windows peuvent inclure la bibliothèque
DLL php_imap.dll dans le php.ini.
IMAP n'est pas supporté sur les systèmes plus anciens que Windows 2000.
Cela est dû au fait que IMAP utilise les fonctions de cryptage
pour activer les connexions SSL aux serveurs de mails.
Note:
Suivant la configuration de la bibliothèque C cliente, vous pouvez
aussi avoir besoin d'ajouter
--with-imap-ssl=/path/to/openssl/
et/ou --with-kerberos=/path/to/kerberos
dans la ligne de configuration PHP.
WarningLes extensions
IMAP, recode, YAZ et Cyrus ne peuvent être utilisées simultanément
puisqu'elles utilisent un symbole interne commun.
Configuration à l'exécution
Cette extension ne définit aucune directive de
configuration.
Constantes pré-définies
Ces constantes sont définies par cette
extension, et ne sont disponibles que si cette extension a été compilée avec
PHP, ou bien chargée au moment de l'exécution.
-
NIL
(entier)
-
-
OP_DEBUG
(entier)
-
-
OP_READONLY
(entier)
-
Ouvre une boîte aux lettres en lecture seule
-
OP_ANONYMOUS
(entier)
-
Ne pas utiliser, ou modifier le fichier .newsrc pour les news,
(NNTP uniquement).
-
OP_SHORTCACHE
(entier)
-
-
OP_SILENT
(entier)
-
-
OP_PROTOTYPE
(entier)
-
-
OP_HALFOPEN
(entier)
-
Pour les noms IMAP et NNTP,
ouvre une connexion mais n'ouvre pas une boîte aux lettres.
-
OP_EXPUNGE
(entier)
-
-
OP_SECURE
(entier)
-
-
CL_EXPUNGE
(entier)
-
purger automatiquement la boîte aux lettres lors de
l'appel de imap_close()
-
FT_UID
(entier)
-
Le paramètre est un UID.
-
FT_PEEK
(entier)
-
Ne pas lever le drapeau \Seen (Message lu) s'il n'est pas
déjà levé.
-
FT_NOT
(entier)
-
-
FT_INTERNAL
(entier)
-
La chaîne renvoyée est au format interne, et ne va pas canoniser les CRLF.
-
FT_PREFETCHTEXT
(entier)
-
-
ST_UID
(entier)
-
la séquence contient des UID au lieu de numéros de séquence
-
ST_SILENT
(entier)
-
-
ST_SET
(entier)
-
-
CP_UID
(entier)
-
La séquence de nombres contient des UID
-
CP_MOVE
(entier)
-
Efface les messages après copie avec
imap_mail_copy()
-
SE_UID
(entier)
-
Retourne des UID à la place de numéros
-
SE_FREE
(entier)
-
-
SE_NOPREFETCH
(entier)
-
Ne pas pré-télécharger les messages trouvés
-
SO_FREE
(entier)
-
-
SO_NOSERVER
(entier)
-
-
SA_MESSAGES
(entier)
-
-
SA_RECENT
(entier)
-
-
SA_UNSEEN
(entier)
-
-
SA_UIDNEXT
(entier)
-
-
SA_UIDVALIDITY
(entier)
-
-
SA_ALL
(entier)
-
-
LATT_NOINFERIORS
(entier)
-
Cette boîte aux lettres n'a pas d'"enfants"
(il n'y a plus de boîtes aux lettres en dessous de celle-ci).
-
LATT_NOSELECT
(entier)
-
Ceci est juste un container, pas une boîte aux lettres
(vous ne pouvez pas l'ouvrir).
-
LATT_MARKED
(entier)
-
Cette boîte aux lettres est marquée.
Utilisé uniquement avec UW-IMAPD.
-
LATT_UNMARKED
(entier)
-
Cette boîte aux lettres n'est pas marquée.
Utilisé uniquement avec UW-IMAPD.
-
SORTDATE
(entier)
-
Critère de tri pour imap_sort() :
Date du message
-
SORTARRIVAL
(entier)
-
Critère de tri pour imap_sort() :
Date d'arrivée
-
SORTFROM
(entier)
-
Critère de tri pour imap_sort() :
Nom de la première boîte aux lettres de l'adresse
d'origine (From address)
-
SORTSUBJECT
(entier)
-
Critère de tri pour imap_sort() :
Sujet du message
-
SORTTO
(entier)
-
Critère de tri pour imap_sort() :
Nom de la première boîte aux lettres de destination (To address)
-
SORTCC
(entier)
-
Critère de tri pour imap_sort() :
Nom de la boîte aux lettres de copie cachée (cc address)
-
SORTSIZE
(entier)
-
Critère de tri pour imap_sort() :
Taille du message en octets
-
TYPETEXT
(entier)
-
-
TYPEMULTIPART
(entier)
-
-
TYPEMESSAGE
(entier)
-
-
TYPEAPPLICATION
(entier)
-
-
TYPEAUDIO
(entier)
-
-
TYPEIMAGE
(entier)
-
-
TYPEVIDEO
(entier)
-
-
TYPEOTHER
(entier)
-
-
ENC7BIT
(entier)
-
-
ENC8BIT
(entier)
-
-
ENCBINARY
(entier)
-
-
ENCBASE64
(entier)
-
-
ENCQUOTEDPRINTABLE
(entier)
-
-
ENCOTHER
(entier)
-
-
IMAP_OPENTIMEOUT
(entier)
-
-
IMAP_READTIMEOUT
(entier)
-
-
IMAP_WRITETIMEOUT
(entier)
-
-
IMAP_CLOSETIMEOUT
(entier)
-
-
LATT_REFERRAL
(entier)
-
-
LATT_HASCHILDREN
(entier)
-
-
LATT_HASNOCHILDREN
(entier)
-
-
TYPEMODEL
(entier)
-
Voir aussi
Ce document ne peut entrer dans les détails de tous les sujets
abordés. Plus d'informations sont disponibles avec la documentation
de la bibliothèque C (docs/internal.txt) ainsi que
les RFC suivantes :
Une étude approfondie est aussi disponible dans les livres suivants
(en anglais):
» Programming Internet Email
par David Wood et
» Managing
IMAP par Dianna Mullet & Kevin Mullet.