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.
AVERTISSEMENT
Les 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.
Types de ressources
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.
Table des matières
- imap_8bit
— Convertit une chaîne à 8 bits en une chaîne à guillemets
- imap_alerts
— Retourne toutes les alertes
- imap_append
— Ajoute une message dans une boîte aux lettres
- imap_base64
— Décode un texte encodé en BASE64
- imap_binary
— Convertit une chaîne à 8 bits en une chaîne à base64
- imap_body
— Lit le corps d'un message
- imap_bodystruct
— Lit la structure d'une section du corps d'un mail
- imap_check
— Vérifie le courrier de la boîte aux lettres courante
- imap_clearflag_full
— Supprime un flag (drapeau) sur un message
- imap_close
— Termine un flux IMAP
- imap_createmailbox
— Crée une nouvelle boîte aux lettres
- imap_delete
— Marque le fichier pour l'effacement, dans la boîte aux lettres courante
- imap_deletemailbox
— Efface une boîte aux lettres
- imap_errors
— Retourne toutes les erreurs IMPA survenues
- imap_expunge
— Efface tous les messages marqués pour l'effacement
- imap_fetch_overview
— Lit le sommaire des en-têtes de messages
- imap_fetchbody
— Retourne une section extraite du corps d'un message
- imap_fetchheader
— Retourne l'en-tête d'un message
- imap_fetchstructure
— Lit la structure d'un message
- imap_get_quota
— Lit les quotas des boîtes aux lettres ainsi que des statistiques sur chacune d'elles
- imap_get_quotaroot
— Lit les quotas de chaque utilisateur
- imap_getacl
— Retourne le ACL pour la boîte aux lettres
- imap_getmailboxes
— Liste les boîtes aux lettres, et retourne les détails de chacune
- imap_getsubscribed
— Liste toutes les boîtes aux lettres souscrites
- imap_header
— Alias de imap_headerinfo()
- imap_headerinfo
— Lit l'en-tête du message
- imap_headers
— Retourne les en-têtes de tous les messages d'une boîte aux lettres
- imap_last_error
— Retourne la dernière erreur survenue
- imap_list
— Lit la liste des boîtes aux lettres
- imap_listmailbox
— Alias de imap_list()
- imap_listscan
— Lit la liste des boîtes aux lettres, et y recherche une chaîne
- imap_listsubscribed
— Alias de imap_lsub()
- imap_lsub
— Liste toutes les boîtes aux lettres enregistrées
- imap_mail_compose
— Crée un message MIME
- imap_mail_copy
— Copie les messages spécifiés dans une boîte aux lettres
- imap_mail_move
— Déplace des messages dans une boîte aux lettres
- imap_mail
— Envoie un message mail
- imap_mailboxmsginfo
— Lit les informations à propos de la boîte aux lettres courante
- imap_mime_header_decode
— Décode les éléments MIME d'un en-tête
- imap_msgno
— Retourne le numéro de séquence du message pour un UID donné
- imap_num_msg
— Retourne le nombre de messages dans la boîte aux lettres courante
- imap_num_recent
— Retourne le nombre de messages récents dans la boîte aux lettres courante
- imap_open
— Ouvre un flux IMAP
vers une boîte aux lettres
- imap_ping
— Vérifie que le flux IMAP est toujours actif
- imap_qprint
— Convertit une chaîne à guillemets en une chaîne à 8 bits
- imap_renamemailbox
— Renomme une boîte aux lettres
- imap_reopen
— Réouvre un flux IMAP vers une nouvelle boîte aux lettres
- imap_rfc822_parse_adrlist
— Analyse une adresse email
- imap_rfc822_parse_headers
— Analyse un en-tête mail
- imap_rfc822_write_address
— Retourne une adresse email formatée correctement
- imap_savebody
— Sauvegarde une partie spécifique du corps dans un fichier
- imap_scanmailbox
— Alias de imap_listscan()
- imap_search
— Retourne un tableau de messages après recherche
- imap_set_quota
— Modifie le quota d'une boîte aux lettres
- imap_setacl
— Modifie le ACL de la boîte aux lettres
- imap_setflag_full
— Positionne un drapeau sur un message
- imap_sort
— Trie des messages
- imap_status
— Retourne les informations de statut sur une boîte aux lettres
- imap_subscribe
— Souscrit à une boîte aux lettres
- imap_thread
— Retourne l'arbre des messages organisés par thread
- imap_timeout
— Configure ou retourne le timeout
- imap_uid
— Retourne l'UID d'un message
- imap_undelete
— Enlève la marque d'effacement d'un message
- imap_unsubscribe
— Termine la souscription à une boîte aux lettres
- imap_utf7_decode
— Décode une chaîne encodée en UTF-7 modifié
- imap_utf7_encode
— Convertit une chaîne ISO-8859-1 en texte UTF-7 modifié
- imap_utf8
— Convertit du texte au format MIME en UTF-8