Index: phpdoc/fr/functions/imap.xml diff -u phpdoc/fr/functions/imap.xml:1.1 phpdoc/fr/functions/imap.xml:1.2 --- phpdoc/fr/functions/imap.xml:1.1 Fri Jul 21 03:27:50 2000 +++ phpdoc/fr/functions/imap.xml Tue Nov 28 02:48:53 2000 @@ -1,1805 +1,2655 @@ - - Fonctions IMAP - IMAP - - - - Pour avoir accès à ces fonctions, vous devez compiler PHP avec l'option - . Il faut avoir installé la librairie - c-client. Chargez sa dernière version sur le serveur - &url.imap; et compilez la. Puis, copiez le fichier - c-client/c-client.a dans /usr/local/lib - ou n'importe quel autre dossier qui soit dans le chemin de link. Enfin, copiez les - fichiers c-client/rfc822.h, mail.h - et linkage.h dans /usr/local/include - ou n'importe quel autre dossier qui soit dans le chemin d'inclusion. - - - Ces fonctions ne sont pas limitées au protocole IMAP, malgré - leur nom. La librairie sur laquelle elles sont developpées supporte aussi - NNTP, POP3 et les méthodes d'accès aux - boîtes aux lettres locales. Reportez vous à la fonction - imap_open pour plus d'informations. - - - - - - imap_append - - Ajoute une chaîne dans une boîte au lettre. - - - - Description - - int imap_append - int imap_stream - string mbox - string message - stringflags - - - Retourne TRUE en cas de succès, et FALSE en cas d'erreur. - - - imap_append ajoute un message dans la boîte aux lettres - mbox. Si l'option flags est utilisée, - flags sera aussi écrit dans la boîte aux lettres. - - - Lors des échanges avec le serveur Cyrus IMAP, vous devrez utiliser - "\r\n" comme terminaison de ligne, à la place de "\n" ou l'opération échouera. - - - - - - - imap_base64 - Décode un texte encodé en BASE64. - - - Description - - string imap_base64 - string text - - - imap_base64 décode un texte encodé en BASE64. Le texte - décodé est retourné sous la forme d'une chaîne. - - - - - - - - imap_body - Lis le corps d'un message. - - - Description - - string imap_body - int imap_stream - int msg_number - int flags - - - imap_body retourne le corps du message numéro - msg_number de la boîte aux lettres courante. L'option - flags est un masque qui peut contenir les valeurs suivantes : - - - - FT_UID - msgno est un UID - - - - - FT_PEEK - Ne pas lever le drapeaux \Seen (Message lu) si il n'est pas déjà levé. - - - - - FT_INTERNAL - La chaîne renvoyée est au format interne, et ne va pas canoniser - les CRLF. - - - - - - - - - - imap_check - Vérifie le courrier de la boîte aux lettres courante. - - - Description - - object imap_check - int imap_stream - - - imap_check retourne les informations à propos de la boîte - aux lettres courante. Retourne FALSE en cas d'échec. - - - La fonction imap_check vérifie le statut de la boîte - aux lettres courante, sur le serveur imap_stream, et - retourne les informations dans un objet avec les membres suivants : - - - - - Date : : Date du message - Driver : Pilote - Mailbox : Nom de la boîte aux lettres - Nmsgs : Nombre de messages - Recent : Nombre de messages récents - - - - - - - - - imap_close - Termine un flot IMAP. - - - Description - - int imap_close - int imap_stream - int flags - - - Termine un flot IMAP. Prend un argument optionnel flag, - CL_EXPUNGE, qui va retirer automatiquement de la liste la boîte aux lettres. - - - - - - - imap_createmailbox - Crée une nouvelle boîte aux lettres. - - - Description - - int imap_createmailbox - int imap_stream - string mbox - - - imap_createmailbox crée une nouvelle boîte aux lettres - nommée mbox (voir imap_open pour - connaître le format des noms de mbox). - - - Retourne TRUE en cas de succès, et FALSE en cas d'erreur. - - - Voir aussi imap_renamemailbox et - imap_deletemailbox. - - - - - - - imap_delete - - Marque le fichier pour l'effacement, dans la boîte aux lettres courante. - - - - Description - - int imap_delete - int imap_stream - int msg_number - - - Returns TRUE. - - - imap_delete marque le fichier - msg_number pour l'effacement, dans la boîte aux lettres - courante. L'effacement réel n'interviendra que lors de l'appel de la fonction - imap_expunge. - - - - - - - imap_deletemailbox - Efface une boîte aux lettres. - - - Description - - int imap_deletemailbox - int imap_stream - string mbox - - - imap_deletemailbox efface la boîte aux lettres - (voir imap_open pour connaître le format des noms de - mbox). - - - Retourne TRUE en cas de succès, et FALSE en cas d'erreur. - - - Voir aussi imap_createmailbox et - imap_renamemailbox. - - - - - - - imap_expunge - Efface tous les messages marqués pour l'effacement. - - - Description - - int imap_expunge - int imap_stream - - - imap_expunge efface tous les messages marqués pour - l'effacement par imap_delete. - - - Retourne TRUE. - - - - - - - imap_fetchbody - Retourne une section extraite du corps d'un message. - - - Description - - string imap_fetchbody - int imap_stream - int msg_number - string part_number - flags flags - - - Cette fonction va rechercher une section du corps du message, et la retourne - sous la forme d'une chaîne. La section est une chaîne d'entiers, séparés par des - virgules, qui servent d'index dans le corps du message, comme spécifié dans la - norme IMAP4. Le texte n'est alors pas décodé par imap_fetchbody. - - - L'option imap_fetchbody est un masque qui peut contenir les - valeurs suivantes : - - - - FT_UID - msgono est un UID - - - - - FT_PEEK - Ne pas lever le drapeau \Seen (Message lu) si il n'est pas déjà levé. - - - - - FT_INTERNAL - La chaîne renvoyée est au format interne, et ne va pas - canoniser les CRLF. - - - - - - - - - - imap_fetchstructure - - Lit la structure d'un message. - - - - Description - - object - imap_fetchstructure - - int imap_stream - int msg_number - int - flags - - - - Lit la structure du message msg_number. Cette fonction - dispose d'une option flags, qui une seule valeur, - FT_UID, pour indiquer que l'argument - msg_number est un UID. - Cette fonction retourne un objet avec des propriétés d'enveloppe, - de date interne, de taille, de structure de flags et de corps, ainsi qu'un objet - pour chaque attachement. La structure est la suivante : - - -

- - Objets retournés par <function>imap_fetchstructure</function> - - - - - type - Type primaire de corps - - - encoding - Codage de transfert du corps - - - ifsubtype - TRUE si il y a une chaîne de sous type - - - subtype - sous typeMIME - - - ifdescription - TRUE si il y au ne chaîne de description - - - description - Chaîne de description du contenu - - - ifid - TRUE si il y a une chaîne d'identification - - - id - Chaîne d'identification - - - lines - Nombre de lignes - - - bytes - Nombre d'octets - - - ifdisposition - TRUE si il y a une chaîne de disposition - - - disposition - Chaîne de disposition - - - ifdparameters - TRUE s'il y a un tableau de paramètres dparameters - - - dparameters - - - dparameters est un tableau d'objet oú chaque objet à un "attribut" - et une "valeur". - - - - tableau de disposition - - - ifparameters - TRUE si le tableau de paramètres existe - - - paramètres - - - parameter est un tableau d'objet oú chaque objet à un "attribut" et une "valeur". - - - - Tableau de paramètres MIME - - - parts - - - parts est un tableau d'objets de même structure que l'objet supérieur, mais qui ne contient pas d'autres objets de même sorte. - - - - Tableau d'objet décrivant chaque partie du message - - - -
- - - - - Type primaire de corps - - - 0text - 1multipart - 2message - 3application - 4audio - 5image - 6video - 7other - - -
-
- - - Codage de transfert - - - 07BIT - 18BIT - 2BINARY - 3BASE64 - 4QUOTED-PRINTABLE - 5OTHER - - -
-
- - - - - - imap_header - Lit l'entête d'un message. - - - Description - - object imap_header - int imap_stream - int msg_number - int - fromlength - - int - subjectlength - - string - defaulthost - - - - Cette fonction retourne un objet avec divers éléments d'entête : - - - - - remail, date, Date, subject, Subject, in_reply_to, message_id, - newsgroups, followup_to, references - -message flags: - Recent - 'R' si récent et lu - 'N' si récent et pas lu - ' ' if par récent - Unseen - 'U' si pas lu ET pas récent - ' ' si pas lu OU pas lu et récent - Answered -'A' si répondu - ' ' si non répondu - Deleted - 'D' si effacé - ' ' si pas effacé - Draft - 'X' si brouillon - ' ' si pas brouillon - Flagged - 'F' si marqué - ' ' si non marqué - - NOTE : le comportement de Récent/pas lu est un peu étrange. Si vous voulez - savoir si un message n'est pas lu, vous devez vérifier avec - -Unseen == 'U' || Recent == 'N' - -toaddress (ligne to: complète, jusqu'à 1024 caractères) - -to[] (retourne un tableau d'objets, extrait de la ligne To , et contenant) - personal - adl - mailbox - host - -fromaddress (ligne From: complète, jusqu'à 1024 caractères) - -from[] (retourne un tableau d'objets, extrait de la ligne From , et contenant) - personal - adl - mailbox - host - -ccaddress (ligne cc: complète, jusqu'à 1024 caractères) -cc[] (retourne un tableau d'objets, extrait de la ligne Cc , et contenant) - personal - adl - mailbox - host - -bccaddress (ligne bcc: complète, jusqu'à 1024 caractère) -bcc[] (retourne un tableau d'objets, extrait de la ligne Bcc , et contenant) - personal - adl - mailbox - host - -reply_toaddress (ligne reply_to: complète, jusqu'à 1024 caractères) -reply_to[] (retourne un tableau d'objets, extrait de la ligne Reply_to , et contenant) - personal - adl - mailbox - host - -senderaddress (ligne sender_address: complète, jusqu'à 1024 caractères) -sender[] (retourne un tableau d'objets, extrait de la ligne Reply_to , et contenant) - personal - adl - mailbox - host - -return_path (ligne return_path: complète, jusqu'à 1024 caractères) -return_path[] (retourne un tableau d'objets, extrait de la ligne return_path , et contenant) - personal - adl - mailbox - host - -udate (date du message, au format unix (timestamps)) - -fetchfrom (Ligne From , limitée à fromlengthcaractères) - -fetchsubject (Ligne de sujet, limitée à subjectlength caractères) - - - - - - - - - imap_headers - - Retourne les entêtes de tous les messages d'une boîte aux lettres. - - - - Description - - array imap_headers - int imap_stream - - - imap_headers retourne un tableau de chaîne contenant les - entête des messages. Une chaîne par message. - - - - - - - imap_listmailbox - Liste les boîtes aux lettres. - - - Description - - array imap_listmailbox - int imap_stream - string ref - string pat - - - Retourne un tableau contenant les noms des boîtes aux lettres. - - - - - - - imap_getmailboxes - - Liste les boîtes aux lettres, et retourne le détail pour chacune. - - - - Description - - array imap_getmailboxes - int imap_stream - string ref - string pat - - - Retourne un tableau d'objets contenant les informations sur les boîtes aux lettres. - Chaque objet a les attributs de name, qui contient le nom - complet de la boîte aux lettres; delimiter, qui est le - délimiteur hiérarchique; et attributes. - Attributes est un masque de bits, qui contient : - - - - LATT_NOINFERIORS - 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 - Ceci est juste un container, pas une boîte aux lettres - (vous ne pouvez pas l'ouvrir). - - - - - LATT_MARKED - Cette boîte aux lettres est marquée. Utilisé uniquement - avec UW-IMAPD. - - - - - LATT_UNMARKED - Cette boîte aux lettres n'est pas marquée. Utilisé uniquement - avec UW-IMAPD. - - - - - - ref ne devrait être que le serveur IMAP sous la forme - {imap_server:imap_port}, et pattern - spécifie la position dans la hiérarchie des boîtes aux lettres, oú il faut - commencer à charcher. Si vous voulez passer en revue toute la hiérarchier, passez - '*' comme pattern. - - - Il y a deux caractères spéciaux que vous pouvez utiliser dans - pattern : '*' et '%'. '*' signifie : toutes les boîtes - aux lettres. Si vous passez pattern comme '*', - vous obtiendrez la liste complète des boîtes aux lettres de la hiérarchie. - '%' signifie qu'on ne s'interesse qu'au niveau courant. '%' passé à - pattern ne retournera que les boîtes aux lettres de niveau - supérieur; '~/mail/%'.Sous UW_IMAPD retournera toutes les boîtes aux lettres du - dossier ~/mail directory, mais pas leurs enfants. - - - - - - - imap_listsubscribed - Liste les boîtes aux lettres souscrites. - - - Description - - array imap_listsubscribed - int imap_stream - string ref - string pattern - - - imap_listsubscribed retourne un tableau avec toutes les - boîtes aux lettres auxquelles vous avez souscrit. - Les arguments ref et pattern - indiquent respectivement, le dossier oú chercher et le nom des boîtes recherchées, - sous la forme d'un masque. - - - - - - - imap_getsubscribed - Liste toutes les boîtes aux lettres souscrites. - - - Description - - array imap_getsubscribed - int imap_stream - string ref - string pattern - - - Cette fonction est identique à imap_getmailboxes, - mais ne retourne que les boîtes aux lettres auxquelles l'utilisateur est inscrit. - - - - - - - imap_mail_copy - Copie les messages spécifiés dans une boîte aux lettres. - - - Description - - int imap_mail_copy - int imap_stream - string msglist - string mbox - int flags - - - imap_mail_copy retourne TRUE en cas de succès et - FALSE en cas d'erreur. - - - imap_mail_copy copie les messages email spécifiés par - msglist dans la boîte aux lettres nommée mbox. - msglist est un intervalle, et pas seulement une liste - numéros de message. - - - flags est un masque, qui peut contenir une ou plusieurs des - valeurs suivantes : - - - - CP_UID - la séquence de nombre contient des UIDS - - - - - CP_MOVE - Efface les messages après copie. - - - - - - - - - - imap_mail_move - Déplace les messages spécifiés dans une boîte aux lettres. - - - Description - - int imap_mail_move - int imap_stream - string msglist - string mbox - - - imap_mail_move déplace les messages spécifiés par - msglist dans la boîte - aux lettres mbox. msglist est un - intervalle, et pas seulement une liste de messages. - - - Retourne TRUE en cas de succès, et FALSE en cas d'erreur. - - - - - - - imap_num_msg - - Retourne le nombre de message dans la boîte aux lettres courante. - - - - Description - - int imap_num_msg - int imap_stream - - - imap_num_msg retourne le nombre de message dans la boîte - aux lettres courante. - - - - - - - imap_num_recent - - Retourne le nombre de messages récents dans la boîte aux lettres courante. - - - - Description - - int imap_num_recent - int imap_stream - - - imap_num_recent retourne le nombre de message récents - dans la boîte aux lettres courante. - - - - - - - imap_open - Ouvre un flot IMAP vers une boîte aux lettres. - - - Description - - int imap_open - string mailbox - string username - string password - int flags - - - Retourne un flot IMAP en cas de succès, et FALSE en cas d'erreur. - Cette fonction peut aussi être utilisée pour ouvrir des flots sur des serveurs - POP3 et NNTP. Pour se connecter à un serveur IMAP, on peut utiliser la commande - suivante : - - -$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 : - - - -$mbox = imap_open("{localhost/pop3:110}INBOX","user_id","password"); - - - - Pour se connecter à un serveur NNTP qui fonctionne sur le port 119 de la machine - locale on peut utiliser la commande: - - - -$nntp = imap_open("{localhost/nntp:119}comp.test","",""); - - - - Pour se connecter à un serveur distant, remplacez "localhost" par le nom ou - l'adresse IP de la machine. - - - 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 lettre. - - - - - CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la liste, lors de - la terminaison du flot. - - - - - - - - - - imap_ping - Vérifie que le flot IMAP est toujours actif. - - - Description - - int imap_ping - int imap_stream - - - Retourne TRUE si le flot existe toujours, et FALSE sinon. - - - imap_ping vérifie que le flot IMAP est toujours actif, - en lui envoyant un ping. Cette fonction permet de se rendre compte que du mail - est arrivé : c'est même la méthode préconisée pour des tests périodiques de - vérification du courrier. Cette fonction peut aussi servir à garder une connexion - ouverte, avec les serveurs dotés d'un délai d'expiration. - - - - - - - imap_renamemailbox - Renomme une boîte aux lettres. - - - Description - - int imap_renamemailbox - int imap_stream - string old_mbox - string new_mbox - - - Renomme une boîte aux lettres. - - - Retourne TRUE en cas de succès, et FALSE en cas d'erreur. - - - Voir aussi imap_createmailbox et - imap_deletemailbox. - - - - - - - imap_reopen - Ouvre un flot IMAP vers une nouvelle boîte aux lettres. - - - Description - - int imap_reopen - string imap_stream - string mailbox - string - flags - - - Retourne TRUE en cas de succès, et FALSE en cas d'erreur. - - - Cette fonction ré-ouvre le flot spécifié, mais vers une nouvelle boîtes aux - lettres. - - - Les options sont des masques de bit, qui peuvent contenir les 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 lettre. - - - - - CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la liste, - lors de la terminaison du flot. - - - - - - - - - - imap_subscribe - Souscrit à une boîte aux lettres. - - - Description - - int imap_subscribe - int imap_stream - string mbox - - - Souscrit à la boîte aux lettres mbox. - - - Retourne TRUE en cas de succès, et FALSE en cas d'échec. - - - - - - - imap_undelete - - Enlève la marque d'effacement d'un message. - - - - Description - - int imap_undelete - int imap_stream - int msg_number - - - Enlève la marque d'effacement du message msg_number, placée - avec imap_delete. - - - Retourne TRUE en cas de succès, et FALSE en cas d'erreur. - - - - - - - imap_unsubscribe - Termine la souscription à une boîte aux lettres. - - - Description - - int imap_unsubscribe - int imap_stream - string mbox - - - Termine la souscription à la boîte aux lettres mbox. - - - Retourne TRUE en cas de succès, et FALSE en cas d'erreur. - - - - - - - imap_qprint - Convertit une chaîne à guillemets en une chaîne à 8 bits. - - - Description - - string imap_qprint - string string - - - Convertit la chaîne à guillemets string en une - chaîne à 8 bits. - - - Retourne une chaîne 8 bits (binaire). - - - - - - imap_8bit - - Convertit une chaîne à 8 bits en une chaîne à guillemets. - - - - Description - - string imap_8bit - string string - - - Convertit la chaîne à 8 bits en une chaîne à guillemets. - - - Retourne une chaîne à guillemets. - - - - - - - imap_binary - - Converti une chaîne à 8 bits en une chaîne à base64. - - - - Description - - string imap_binary - string string - - - Convertit la chaîne à 8 bits string en une chaîne à base64. - - - Retourne la chaîne codée. - - - - - - - imap_scanmailbox - - Lis la liste des boîtes aux lettres, et y recherche une chaîne. - - - - Description - - array imap_scanmailbox - int imap_stream - string string - - - Lis la liste des boîtes aux lettres, et y recherche - la chaîne string. - - - - - - - imap_mailboxmsginfo - Lis les informations à propos de la boîte aux lettres courante. - - - Description - - object imap_mailboxmsginfo - int imap_stream - - - Retourne les informations à propos de la boîte aux lettres courante. - Retourne FALSE en cas d'échec. - - - imap_mailboxmsginfo vérifie le statut courant de la - boîte aux lettres sur le serveur, et retourne un objet avec les propriétés - suivantes : - - - - - Date : date du message - Driver : lecteur - Mailbox : Nom de la boîte aux lettres - Nmsgs : nombre de messages - Recent : nombre de messages récents - Unread : nombre de messages non lus - Size : taille de la boîte aux lettres - - - - - - - - - imap_rfc822_write_address - - Retourne une adresse email proprement formatée, à partir du nom de la boîte - aux lettre, de l'hôte, et des informations personnelles. - - - - Description - - string - imap_rfc822_write_address - - string mailbox - string host - string personal - - - Retourne une adresse email proprement formatée, à partir du nom de la boîte aux - lettre de l'hôte, et des informations personnelles. - - - - - - - imap_rfc822_parse_adrlist - Analyse une chaîne d'adresse. - - - Description - - string - imap_rfc822_parse_adrlist - - string address - string default_host - - - Cette fonction analyse la chaîne address et essaie, pour - chaque adresse, retourne un tableau d'objets. les 4 objets sont : - - - - - mailbox - Le nom de la boîte aux lettres (nom d'utilisateur) - host - Le nom de l'hôte - personal - Le nom de l'utilisateur - adl - La route jusqu'au domaine - - - - - - - - - imap_setflag_full - Positionne un flag sur un message. - - - Description - - string imap_setflag_full - int stream - string sequence - string flag - string options - - - Cette fonction affecte le flag spécifié aux messages de la sequence donné. - - - Les flags que vous pouvez modifier sont "\\Seen", "\\Answered", - "\\Flagged", "\\Deleted", "\\Draft" et "\\Recent" (comme défini dans la RFC2060). - - - Les options sont un masque de bits, et peuvent contenir les valeurs suivantes : - - - ST_UID la séquence contient des UIDs au lieu de numéro de séquence - - - - - - - - - imap_clearflag_full - Supprime un flag sur un message. - - - Description - - string - imap_clearflag_full - - int stream - string sequence - string flag - string options - - - Cette fonction efface le flag spécifié dans les messages de la séquence sequence. - - - Les options sont un masque de bit, qui accepte les valeurs suivantes : - - - ST_UID la séquence contient des UIDs au lieu de numéro de séquence - - - - - - - - - imap_sort - Trie des messages. - - - Description - - string imap_sort - int stream - int criteria - int reverse - int options - - - Retourne un tableau de nombre de message, triés suivant les paramètres suivants : - - - Rev vaut 1 pour signifier : tri inverse (REVevse-sorting). - - - Les critères peuvent être un (et un seul) parmis les suivants : - - - SORTDATE Date du message - SORTARRIVAL Date d'arrivée - SORTFROM Nom de la première boîte aux lettres de l'adresse d'origine (From address) - SORTSUBJECT Sujet du message - SORTTO Nom de la première boîte aux lettres de destination (To address) - SORTCC Nom de la boîte aux lettres de copie cachée (cc address) - SORTSIZE Taille du message en octets - - - - - Les flags dont des masques de bits, d'un ou plusieurs des éléments suivants : - - - SE_UID Retourne l'UIDs à la place d'une séquence de nombres - SE_NOPREFETCH Ne pas pré-télécharger les messages trouvés - - - - - - - - - imap_fetchheader - Retourne l'entête d'un message. - - - Description - - stringimap_fetchheader - int imap_stream - int msgno - int flags - - - Cette fonction retourne l'entête brut et complet RFC 822 du message msgno, - et le retourne sous la forme d'une chaîne. - - - Les options sont : - - - FT_UID L'argument msgno est un UID - FT_INTERNAL la chaîne renvoyée est au format "internal" , - c'est à dire sans canonisation des CRLF - FT_PREFETCHTEXT RFC822.TEXT doit être pré-téléchargé en même temps que l'entête. Cela réduit le RTT sur une connexion IMAP, si le message complet est souhaité. (e.g. dans une opératoin de sauvegarde dans un fichier). - - - - - - - - - imap_uid - - Retourne l' UID d'un message. - - - - Description - - int imap_uid - int imap_stream - int msgno - - - Cette fonction retourne l'UID pour le message msgno. - C'est la fonction contraire de imap_msgno. - - - - - - - - imap_msgno - - Retourne le numéro de séquence de message pour un UID donné. - - - - Description - - int imap_msgno - int imap_stream - int uid - - - imap_msgno retourne le numéro de séquence de message - pour l'UID uid. - C'est la fonction contraire de imap_uid. - - - - - - - imap_search - - Retourne un tableau de message après recherche. - - - - Description - - array imap_search - int imap_stream - string criteria - int flags - - - imap_search effectue une recherche dans la boîte aux - lettres courantes, sur le flot IMAP courant. criteria est - une chaîne, délimitée par des espaces, dans laquelle les mots-clés suivants sont - acceptés : - Tous les arguments multi-mots doivent être entre guillemets : - - - - ALL - retourne tous les message qui vérifie le reste du critère. - - - - - ANSWERED - tous les messages avec le flag \\ANSWERED - - - - - BCC "string" - tous les messages avec la chaîne "string" dans le champs Bcc: - - - - - BEFORE "date" - tous les messages avec Date: avant "date" - - - - - BODY "string" - tous les messages avec "string" dans le corps - - - - - CC "string" - tous les messages avec "string" dans le champs Cc: - - - - - DELETED - tous les messages effacés - - - - - FLAGGED - tous les messages avec le flag \\FLAGGED (parfois interprété comme Important ou Urgent) - - - - - FROM "string" - tous les messages avec la chaîne "string" dan le champs From: - - - - - KEYWORD "string" - tous les messags avec la chaîne "string" comme mot clé - - - - - NEW - tous les nouveaux messages - - - - - OLD - tous les anciens messages - - - - - ON "date" - tous les messages avec la date "date" comme champs Date: - - - - - RECENT - tous les messages avec le flag \\RECENT - - - - - SEEN - tous les messages lus (avec le flag\\SEEN flag) - - - - - SINCE "date" - tous les messages avec la date Date: après "date" - - - - - SUBJECT "string" - tous les messages avec la chaîne "string" dans le champs Subject: - - - - - TEXT "string" - tous les messages avec le texte "string" - - - - - TO "string" - tous les messages avec la chaîne "string" dans le champs To: - - - - - UNANSWERED - tous les messages non répondus - - - - - UNDELETED - tous les messages non effacés - - - - - UNFLAGGED - tous les messages non flaggés - - - - - UNKEYWORD "string" - tous les messages dans le mot clés "string" - - - - - UNSEEN - tous les messages non lus - - - - - - Par exemple, pour rechercher les messages non répondus, envoyés par maman, vous - pouvez utiliser : "UNANSWERED FROM maman". Les recherches semblent insensibles - à la casse. Cette liste de critères est issue du code d'un client C UW et peut être - incomplète ou inprécise. Faites attention. - - - Les valeurs pour les flags sont SE_UID, qui fait que le tableau réponse contient - les UIDs plutôt que les numéros de séquence. - - - - - - - imap_last_error - - Retourne la dernière erreur (si elle existe) qui est survenu lors de la dernière requête. - - - - Description - - string imap_last_error - void - - - Cette fonction retourne le texte complet de la dernière erreur IMAP (si elle - existe) qui est survenu lors de la dernière requête. La pile d'erreur n'est pas - touchée. Appeler imap_last_error successivement dans - nouvelles erreurs retournera la même erreur. - - - ATTENTION : cette fonction n'est pas encore disponible sous PHP4. - - - - - - - imap_errors - - Retourne toutes les erreurs (si elles existent) qui sont survenus lors - de la dernière requête, ou depuis que la pile d'erreur a été réinitialisée. - - - - Description - - array imap_errors - void - - - Cette fonction retourne tous les messages d'erreurs IMAP générés depuis le - dernier appel à imap_errors, ou depuis le début de la page. - Lorsque imap_errors est appelés, la pile d'erreur est vidée. - - - ATTENTION : cette fonction n'est pas encore disponible sous PHP4. - - - - - - - imap_alerts - - Retourne toutes les alertes (si elles existent) qui sont survenues lors de la - dernière requête, ou depuis que la pile d'alerte a été réinitialisée. - - - - Description - - array imap_alerts - void - - - Cette fonction retourne tous les messages d'alerte IMAP générés depuis le dernier - appel à imap_alerts ou depuis le début de la page. - Lorsque imap_alerts est appelé, la pile d'alerte est vidée. - - - - - - - imap_status - - Retourne les informations de statut sur une boîte aux lettres autre que la boîte - courante. - - - - Description - - object imap_status - int imap_stream - string mailbox - int options - - - Cette fonction retourne un objet contenant les informations de statut. - Les flags valables sont : - - - - SA_MESSAGES - met la valeur de status->messages au nombre de messages dans la - boîtes aux lettres. - - - - - SA_RECENT - met la valeur destatus->recent au nombre de messages récents dans - la boîte aux lettres. - - - - - SA_UNSEEN - met la valeur de status->unseen au nombre de messages non lus dans - la boîte aux lettres. - - - - - SA_UIDNEXT - met la valeur de status->uidnext à la prochaîne valeur d'uid - qui sera utilisée. - - - - - SA_UIDVALIDITY - met la valeur de status->uidvalidity à une constante, qui - change lorsque l'uid de la boîte aux lettres n'est plus valide. - - - - - SA_ALL - fixe les valeurs de de toutes les précédents. - - - - - - status->flags est aussi fixé : c'est un masque de bit qui peut contenir - tous les flags ci dessus. - - - - - - - imap_utf7_decode - - Décode une chaîne modifiée UTF-7. - - - - Description - - string imap_utf7_decode - string text - - - Décode la chaîne UTF-7 text en données 8 bits. - - - Retourne les données décodées en 8 bits, ou FALSE si la chaîne n'était pas une - chaîne UTF-7 valide. - - - - - - - imap_utf7_encode - - Convertie des données 8bit en texte UTF-7. - - - - Description - - string imap_utf7_encode - string data - - - Convertit les données 8 bits data en texte - UTF-7 text. L'encodage UTF-7 est défini dans la RFC 2060. - - - Retourne un texte UTF-7. - - - - - - - + + Fonctions IMAP + IMAP + + + Pour avoir accès à ces fonctions, vous devez compiler PHP + avec l'option . Il faut avoir + installé la librairie C-client. Chargez sa dernière version + sur le serveur &url.imap; et compilez la. + Puis, copiez le fichier c-client/c-client.a dans + /usr/local/lib ou n'importe quel autre dossier + qui soit dans le chemin de link. Enfin, copiez les fichiers + c-client/rfc822.h, mail.h + et linkage.h dans /usr/local/include + ou n'importe quel autre dossier qui soit dans le chemin d'inclusion. + + + Ces fonctions ne sont pas limitées au protocole + IMAP, malgré leur nom. La librairie sur laquelle + elles sont developpées supporte aussi NNTP, + POP3 et les méthodes d'accès aux + boîtes aux lettres locales. Reportez vous à la fonction + imap_open pour plus d'informations. + + + Ce document ne peut entrer dans les détails de toutes les sujets abordés. + Plus d'informations sont disponibles avec la documentation de la librairie + C (docs/internal.txt). ainsi que les RFC suivantes : + + + + RFC821: Simple Mail + Transfer Protocol (SMTP). + + + + + RFC822: Standard for + ARPA internet text messages. + + + + + RFC2060: Internet + Message Access Protocol (IMAP) Version 4rev1. + + + + + RFC1939: Post + Office Protocol Version 3 (POP3). + + + + + RFC977: Network News + Transfer Protocol (NNTP). + + + + + RFC2076: Common + Internet Message Headers. + + + + + RFC2045 , RFC2046 , RFC2047 , RFC2048 & RFC2049: Multipurpose + Internet Mail Extensions (MIME). + + + + Une étude approfondie est aussi disponibles dans les livres suivants + (en anglais): + Programming Internet Email + par David Wood et Managing + IMAP par Dianna Mullet & Kevin Mullet. + + + + + imap_append + + Ajoute une chaîne dans une boîte au lettre. + + + + Description + + + int imap_append + int imap_stream + string mbox + string message + stringflags + + + + imap_append ajoute un message dans la boîte + aux lettres mbox. Si l'option + flags est utilisée, + flags sera aussi écrit dans la boîte + aux lettres. + + + Retourne TRUE en cas de succès, et FALSE en cas d'erreur. + + + Lors des échanges avec le serveur Cyrus IMAP, vous devrez utiliser + "\r\n" comme terminaison de ligne, à la place de "\n" ou + l'opération échouera. + + + + Exemple avec <function>imap_append</function> + +$stream = imap_open("{your.imap.host}INBOX.Drafts","username", "password"); +$check = imap_check($stream); +print "Nombre de message avant ajout : ". $check->Nmsgs."\n"; +imap_append($stream,"{your.imap.host}INBOX.Drafts" + ,"From: me <email protected>\r\n" + ."To: you <email protected>\r\n" + ."Subject: test\r\n" + ."\r\n" + ."Ceci est un message de test. Ignorez le\r\n" + ); +$check = imap_check($stream); +print "Nombre de message après ajout : ". $check->Nmsgs."\n"; +imap_close($stream); + + + + + + + + imap_base64 + Décode un texte encodé en BASE64. + + + Description + + + string imap_base64 + string text + + + + imap_base64 décode un texte encodé + en BASE64. Le texte décodé est retourné sous la + forme d'une chaîne. + + + + + + imap_body + Lit le corps d'un message. + + + Description + + + string imap_body + int imap_stream + int msg_number + int flags + + + + imap_body retourne le corps du message numéro + msg_number de la boîte aux lettres courante. + L'option flags est un masque qui peut contenir les + valeurs suivantes : + + + + FT_UID - msgno est un UID + + + + + FT_PEEK - Ne pas lever le drapeaux \Seen (Message lu) si il n'est + pas déjà levé. + + + + + FT_INTERNAL - La chaîne renvoyée est au format interne, + et ne va pas canoniser les CRLF. + + + + + + imap_body va retourner une copie brute du corps du + message. Pour extraire les sous parties MIME du message, utilisez + imap_fetch_structure pour analyser la structure, + et imap_fetch_body pour extraire une copie d'une + des sous-partie. + + + + + + imap_check + + Vérifie le courrier de la boîte aux lettres courante. + + + + Description + + + object imap_check + int imap_stream + + + + imap_check retourne les informations à + propos de la boîte aux lettres courante. Retourne FALSE en cas + d'échec. + + + imap_check vérifie le statut de la boîte + aux lettres courante, sur le serveur imap_stream, et + retourne les informations dans un objet avec les membres suivants : + + + + + + Date - Date de dernière modification du contenu de la + boîte aux lettres + + + + + Driver - protocole utilisé pour accéder à la boîte aux lettres: + POP3, IMAP, NNTP + + + + + Mailbox - nom de la boîte aux lettres + + + + + Nmsgs - nombre de messages de la boîte aux lettres + + + + + Recent - nombre de messages récents de la boîte aux lettres + + + + + + + + + imap_close + Termine un flot IMAP. + + + Description + + + int imap_close + int imap_stream + int flags + + + + imap_close termine un flot IMAP. Prend un argument + optionnel flag, CL_EXPUNGE, qui va retirer + automatiquement de la liste la boîte aux lettres. + + + + + + imap_createmailbox + Crée une nouvelle boîte aux lettres. + + + Description + + + int imap_createmailbox + int imap_stream + string mbox + + + + imap_createmailbox crée une nouvelle boîte + aux lettres nommée mbox. Les noms + contenant des caractères spéciaux doivent être encodés. + + + Retourne TRUE en cas de succès, et FALSE en cas d'erreur. + + + + Exemple avec <function>imap_createmailbox</function> + +$mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) + || die("connexion impossible: ".imap_last_error()); +$name1 = "nouvellephpbox"; +$name2 = imap_utf7_encode("nouvellephpboxéx"); +$newname = $name1; +echo "Le nouveau nom sera '$name1'<br>\n"; +# Nous allons créer maintenant une nouvelle boîte aux lettres "phptestbox" +# dans votre dossier inbox, vérfier son état et finalement, la supprimer +# pour remettre votre inbox dans son état initial. +if( <email protected>($mbox,imap_utf7_encode("{your.imap.host}INBOX.$newname"))) { + $status =  <email protected>($mbox,"{your.imap.host}INBOX.$newname",SA_ALL); + if($status) { + print("Votre nouvelle boîte '$name1' est dans l'état suivant :<br>\n"); + print("Messages: ". $status->messages )."<br>\n"; + print("Récent: ". $status->recent )."<br>\n"; + print("Non lus: ". $status->unseen )."<br>\n"; + print("UID suivant: ". $status->uidnext )."<br>\n"; + print("UID validité:". $status->uidvalidity)."<br>\n"; + if(imap_renamemailbox($mbox,"{your.imap.host}INBOX.$newname","{your.imap.host}INBOX.$name2")) { + echo "renommage de la boîte aux lettres '$name1' en '$name2'<br>\n"; + $newname=$name2; + } else { + print "imap_renamemailbox sur la nouvelle boîte aux lettres a échoué : ".imap_last_error()."<br>\n"; + } + } else { + print "imap_status sur la nouvelle boîte aux lettres a échoué : ".imap_last_error()."<br>\n"; + } + if( <email protected>($mbox,"{your.imap.host}INBOX.$newname")) { + print "new mailbox supprimée pour remettre tout en état<br>\n"; + } else { + print "imap_deletemailbox ur la nouvelle boîte aux lettres a échoué : ".implode("<br>\n",imap_errors())."<br>\n"; + } +} else { + print "Impossible de créer une nouvelle boîte aux lettres : ".implode("<br>\n",imap_errors())."<br>\n"; +} +imap_close($mbox); + + + + + Voir aussi imap_renamemailbox, + imap_deletemailbox et + imap_open pour connaître le format des noms de + mbox. + + + + + + imap_delete + + Marque le fichier pour l'effacement, dans la boîte aux lettres courante. + + + + Description + + + int imap_delete + int imap_stream + int msg_number + int + flags + + + + + imap_delete retourne TRUE. + + + imap_delete marque le fichier + msg_number pour l'effacement, dans la + boîte aux lettres courante. Le paramètre optionnel + flags ne prend qu'une seule valeur, + FT_UID, qui indique à PHP qu'il faut traiter + msg_number comme un UID. + L'effacement réel n'interviendra que lors de l'appel de la fonction + imap_expunge. + + + + Exemple <function>imap_delete</function> + +$mbox = imap_open ("{your.imap.host}INBOX", "utilisateur", "mot_de_passe") + || die ("connexion impossible: " . imap_last_error()); +$check = imap_mailboxmsginfo ($mbox); +print "Nombre de messages avant effacement : " . $check->Nmsgs . "<br>\n" ; +imap_delete ($mbox, 1); +$check = imap_mailboxmsginfo ($mbox); +print "Nombre de messages après effacement: " . $check->Nmsgs . "<br>\n" ; +imap_expunge ($mbox); +$check = imap_mailboxmsginfo ($mbox); +print "Nombre de messages après imap_expunge: " . $check->Nmsgs . "<br>\n" ; +imap_close ($mbox); + + + + + + + + imap_deletemailbox + Efface une boîte aux lettres. + + + Description + + + int imap_deletemailbox + int imap_stream + string mbox + + + + imap_deletemailbox efface la boîte aux lettres + (voir imap_open pour connaître le format + des noms de mbox). + + + Retourne TRUE en cas de succès, et FALSE en cas d'erreur. + + + Voir aussi imap_createmailbox, + imap_renamemailbox, et + imap_open pour le format du paramètre + mbox. + + + + + + imap_expunge + + Efface tous les messages marqués pour l'effacement. + + + + Description + + + int imap_expunge + int imap_stream + + + + imap_expunge efface tous les messages marqués pour + l'effacement par imap_delete. + + + Retourne TRUE. + + + + + + imap_fetchbody + Retourne une section extraite du corps d'un message. + + + Description + + + string imap_fetchbody + int imap_stream + int msg_number + string part_number + flags + flags + + + + + imap_fetchbody va rechercher une section du corps + du message, et la retourne sous la forme d'une chaîne. La section + est une chaîne d'entiers, séparés par des virgules, qui + servent d'index dans le corps du message, comme spécifié dans + la norme IMAP4. Le texte n'est alors pas décodé par + imap_fetchbody. + + + L'option imap_fetchbody est un masque qui peut + contenir les valeurs suivantes : + + + + FT_UID - msgono est un UID + + + + + FT_PEEK - Ne pas lever le drapeau \Seen (Message lu) si il n'est pas + déjà levé. + + + + + FT_INTERNAL - La chaîne renvoyée est au format interne, et + ne va pas canoniser les CRLF. + + + + + + + + + imap_fetchstructure + + Lit la structure d'un message. + + + + Description + + + object + imap_fetchstructure + + int imap_stream + int msg_number + int + flags + + + + + imap_fetchstructure la structure du message + msg_number. imap_fetchstructure + dispose d'une option flags, qui une seule valeur, + FT_UID, pour indiquer que l'argument + msg_number est un UID. + Cette fonction retourne un objet avec des propriétés d'enveloppe, + de date interne, de taille, de structure de flags et de corps, ainsi qu'un objet + pour chaque attachement. La structure est la suivante : + + + + + Objets retournés par <function>imap_fetchstructure</function> + + + + + type + Type primaire de corps + + + encoding + Codage de transfert du corps + + + ifsubtype + TRUE si il y a une chaîne de sous type + + + subtype + sous typeMIME + + + ifdescription + TRUE si il y au ne chaîne de description + + + description + Chaîne de description du contenu + + + ifid + TRUE si il y a une chaîne d'identification + + + id + Chaîne d'identification + + + lines + Nombre de lignes + + + bytes + Nombre d'octets + + + ifdisposition + TRUE si il y a une chaîne de disposition + + + disposition + Chaîne de disposition + + + ifdparameters + TRUE s'il y a un tableau de paramètres dparameters + + + dparameters + tableau de disposition + + + ifparameters + TRUE si le tableau de paramètres existe + + + parameters + Tableau de paramètres MIME + + + parts + Tableau d'objet décrivant chaque partie du message + + + +
+
+ + + + + dparameters est un tableau d'objet oú chaque objet à + un "attribut" et une "valeur". + + + + + parameter est un tableau d'objet oú chaque objet à un + "attribut" et une "valeur". + + + + + parts est un tableau d'objets de même structure que l'objet + supérieur, mais qui ne contient pas d'autres objets de + même sorte. + + + + + + + Type primaire de corps + + + 0text + 1multipart + 2message + 3application + 4audio + 5image + 6vidéo + 7autre + + +
+
+ + + Codage de transfert + + + 07BIT + 18BIT + 2BINARY + 3BASE64 + 4QUOTED-PRINTABLE + 5OTHER + + +
+
+
+
+ + + imap_headerinfo + Lit l'entête du message + + + Description + + object imap_headerinfo + int imap_stream + int msg_number + int + fromlength + + int + subjectlength + + string + defaulthost + + + + imap_headerinfo retourne un objet contenant + divers éléments d'entête. + + + + + remail, date, Date, subject, Subject, in_reply_to, message_id, + newsgroups, followup_to, references +éléments d'entêtes: + Recent - 'R' si récent et lu + 'N' si récent et non lu + ' ' si non récent + Unseen - 'U' si non lu ET non récent + ' ' si lu OU non lu et récent + Answered -'A' si répondu, + ' ' si non répondu + Deleted - 'D' si effacé, + ' ' si non effacé + Draft - 'X' si brouillon, + ' ' si non brouillon + Flagged - 'F' si marqué, + ' ' si non marqué +Notez bien que le comportement récent/non lu est un peu particulier : +si vous voulez savor si un message est non lu, vous devez le vérifier +avec +Unseen == 'U' || Recent == 'N' +toaddress (toute la ligne d'entête To: jusqu'à 1024 caractères) +to[] (retourne un objet avec tout l'entête To, contenant): + personal + adl + mailbox + host +fromaddress (toute la ligne d'entête from: jusqu'à 1024 caractères) +from[] (retourne un objet avec tout l'entête From, contenant): + personal + adl + mailbox + host +ccaddress (toute la ligne d'entête CC: jusqu'à 1024 caractères) +cc[] (retourne un objet avec tout l'entête CC, contenant): + personal + adl + mailbox + host +bccaddress (toute la ligne d'entête BCC: jusqu'à 1024 caractères) +bcc[] (retourne un objet avec tout l'entête BCC, contenant): + personal + adl + mailbox + host +reply_toaddress (oute la ligne d'entête Reply_to: jusqu'à 1024 caractères) +reply_to[] (retourne un objet avec tout l'entête Reply_to, contenant) + personal + adl + mailbox + host +senderaddress (toute la ligne d'entête Sender: jusqu'à 1024 caractères) +sender[] (retourne un objet avec tout l'entête Sender, contenant) + personal + adl + mailbox + host +return_path (toute la ligne d'entête Return-path: jusqu'à 1024 caractères) +return_path[] (retourne un objet avec tout l'entête Return-path, contenant) + personal + adl + mailbox + host +udate (Date du mail, au format UNIX) +fetchfrom (Ligne d'entête from formatée pour tenir dans fromlength +caractères) +fetchsubject (Ligne d'entête subject formatée pour tenir dans subjectlength caractères) + + + + + + + + imap_header + Lit l'entête d'un message. + + + Description + + object imap_header + int imap_stream + int msg_number + int + fromlength + + int + subjectlength + + string + defaulthost + + + + Cette fonction est un alias de imap_headerinfo + et lui est identique en tout point. + + + + + + imap_rfc822_parse_headers + Analyse un entête mail + + + Description + + + object imap_rfc822_parse_headers + string headers + string + defaulthost + + + + + imap_rfc822_parse_headers analyse la chaîne + headers, et retourne un objet contenant + differents éléments, similaires à la fonction + imap_header, hormis les flags, et autres + éléments liés au serveur IMAP. + + + + + + imap_headers + + Retourne les entêtes de tous les messages d'une boîte aux lettres. + + + + Description + + + array imap_headers + int imap_stream + + + + imap_headers retourne un tableau de chaîne + contenant les entête des messages. Une chaîne par message. + + + +