cvs: phpdoc /fr/functions imap.xml
| From: | Damien Seguy | Date: | Thu, 26 Jul 2001 11:00:24 +0000 |
| Subject: | cvs: phpdoc /fr/functions imap.xml | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969336520@lists.php.net to get a copy of this message | ||
dams Thu Jul 26 07:00:24 2001 EDT
Modified files:
/phpdoc/fr/functions imap.xml
Log:
Updated from list's diff.corrected some typo
Index: phpdoc/fr/functions/imap.xml diff -u phpdoc/fr/functions/imap.xml:1.14 phpdoc/fr/functions/imap.xml:1.15 --- phpdoc/fr/functions/imap.xml:1.14 Sat Jul 7 18:22:12 2001 +++ phpdoc/fr/functions/imap.xml Thu Jul 26 07:00:22 2001 @@ -1,2815 +1,2882 @@ - <reference id="ref.imap"> - <title>IMAP</title> - <titleabbrev>IMAP</titleabbrev> - <partintro> - <simpara> - Pour avoir accès à ces fonctions, vous devez compiler PHP - avec l'option <option role="configure">--with-imap</option>. Il faut avoir - installé la librairie C-client. Chargez sa dernière version - sur le serveur <ulink url="&url.imap;">&url.imap;</ulink> et compilez la. - Puis, copiez le fichier <filename>c-client/c-client.a</filename> dans - <filename>/usr/local/lib</filename> ou n'importe quel autre dossier - qui soit dans le chemin de link. Enfin, copiez les fichiers - <filename>c-client/rfc822.h</filename>, <filename>mail.h</filename> - et <filename>linkage.h</filename> dans <filename>/usr/local/include</filename> - ou n'importe quel autre dossier qui soit dans le chemin d'inclusion. - </simpara> - <simpara> - Ces fonctions ne sont pas limitées au protocole - <acronym>IMAP</acronym>, malgré leur nom. La librairie sur laquelle - elles sont developpées supporte aussi <acronym>NNTP</acronym>, - <acronym>POP3</acronym> et les méthodes d'accès aux - boîtes aux lettres locales. Reportez vous à la fonction - <function>imap_open</function> pour plus d'informations. - </simpara> - <para> - 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 (<filename>docs/internal.txt</filename>). ainsi que - les RFC suivantes : +<reference id="ref.imap"> + <title>IMAP</title> + <titleabbrev>IMAP</titleabbrev> + <partintro> + <simpara> + Pour avoir accès à ces fonctions, vous devez compiler PHP + avec l'option <link linkend="install.configure.with-imap"><option role="configure">--with-imap</option></link>. + Il faut avoir installé la librairie C-client. + Chargez sa dernière version sur le serveur + <ulink url="&url.imap;">&url.imap;</ulink> et compilez la. + Puis, copiez le fichier <filename>c-client/c-client.a</filename> dans + <filename>/usr/local/lib</filename> ou n'importe quel autre dossier + qui soit dans le chemin de link. Enfin, copiez les fichiers + <filename>c-client/rfc822.h</filename>, <filename>mail.h</filename> + et <filename>linkage.h</filename> dans + <filename>/usr/local/include</filename> ou n'importe quel autre + dossier qui soit dans le chemin d'inclusion. + </simpara> + <simpara> + Ces fonctions ne sont pas limitées au protocole + <acronym>IMAP</acronym>, malgré leur nom. La librairie sur laquelle + elles sont développées supporte aussi <acronym>NNTP</acronym>, + <acronym>POP3</acronym> et les méthodes d'accès aux + boîtes aux lettres locales. Reportez-vous à la fonction + <function>imap_open</function> pour plus d'informations. + </simpara> + <para> + 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 (<filename>docs/internal.txt</filename>) ainsi que + les RFC suivantes : + <itemizedlist> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc821.html">RFC821</ulink>: Simple Mail + Transfer Protocol (<acronym>SMTP</acronym>). + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc822.html">RFC822</ulink>: Standard for + ARPA internet text messages. + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc2060.html">RFC2060</ulink>: Internet + Message Access Protocol (<acronym>IMAP</acronym>) Version 4rev1. + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc1939.html">RFC1939</ulink>: Post + Office Protocol Version 3 (<acronym>POP3</acronym>). + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc977.html">RFC977</ulink>: Network News + Transfer Protocol (<acronym>NNTP</acronym>). + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc2076.html">RFC2076</ulink>: Common + Internet Message Headers. + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc2045.html">RFC2045</ulink> , <ulink + url="&url.rfc;rfc2046.html">RFC2046</ulink> , <ulink + url="&url.rfc;rfc2047.html">RFC2047</ulink> , <ulink + url="&url.rfc;rfc2048.html">RFC2048</ulink> & <ulink + url="&url.rfc;rfc2049.html">RFC2049</ulink>: Multipurpose + Internet Mail Extensions (MIME). + </simpara> + </listitem> + </itemizedlist> + Une étude approfondie est aussi disponibles dans les livres suivants + (en anglais): + <ulink url="&url.email.book;">Programming Internet Email</ulink> + par David Wood et <ulink url="&url.imap.book;">Managing + IMAP</ulink> par Dianna Mullet & Kevin Mullet. + </para> + </partintro> + <refentry id="function.imap-8bit"> + <refnamediv> + <refname>imap_8bit</refname> + <refpurpose> + Convertit une chaîne à 8 bits en une chaîne + à guillemets. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_8bit</function></funcdef> + <paramdef>string <parameter>string</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_8bit</function> convertit la chaîne à 8 bits + en une chaîne à guillemets. + </para> + <para> + <function>imap_8bit</function> retourne une chaîne à + guillemets. + </para> + <para> + Voir aussi + <function>imap_qprint</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-alerts"> + <refnamediv> + <refname>imap_alerts</refname> + <refpurpose> + Retourne toutes les alertes + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_alerts</function></funcdef> + <paramdef>void </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_alerts</function> retourne tous les messages d'alerte + <acronym>IMAP</acronym> générés depuis le dernier + appel à <function>imap_alerts</function> ou depuis le début + de la page. Lorsque <function>imap_alerts</function> est appelé, la + pile d'alertes est vidée. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-append"> + <refnamediv> + <refname>imap_append</refname> + <refpurpose> + Ajoute une chaîne dans une boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_append</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + <paramdef>string <parameter>message</parameter></paramdef> + <paramdef>string<parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_append</function> ajoute un message dans la boîte + aux lettres <parameter>mbox</parameter>. Si l'option + <parameter>flags</parameter> est utilisée, + <parameter>flags</parameter> sera aussi écrit dans la boîte + aux lettres. + </para> + <para> + <function>imap_append</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + 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. + </para> + <para> + <example> + <title>Exemple avec <function>imap_append</function></title> + <programlisting role="php"> +<?php +$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@my.host\r\n" + ."To: you@your.host\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); +?> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-base64"> + <refnamediv> + <refname>imap_base64</refname> + <refpurpose>Décode un texte encodé en BASE64.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_base64</function></funcdef> + <paramdef>string <parameter>text</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_base64</function> décode un texte encodé + en BASE64. Le texte décodé est retourné sous la + forme d'une chaîne. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-binary"> + <refnamediv> + <refname>imap_binary</refname> + <refpurpose> + Convertit une chaîne à 8 bits en une chaîne + à base64. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_binary</function></funcdef> + <paramdef>string <parameter>string</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_binary</function> convertit la chaîne à + 8 bits <parameter>string</parameter> en une chaîne à base64. + </para> + <para> + <function>imap_binary</function> retourne la chaîne codée. + </para> + <para> + Voir aussi + <function>imap_base64</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-body"> + <refnamediv> + <refname>imap_body</refname> + <refpurpose>Lit le corps d'un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_body</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_body</function> retourne le corps du message numéro + <parameter>msg_number</parameter> de la boîte aux lettres courante. + L'option <parameter>flags</parameter> est un masque qui peut contenir les + valeurs suivantes : <itemizedlist> <listitem> <simpara> - <ulink url="&url.rfc;rfc821.html">RFC821</ulink>: Simple Mail - Transfer Protocol (<acronym>SMTP</acronym>). + FT_UID - msgno est un UID + </simpara> + </listitem> + <listitem> + <simpara> + FT_PEEK - Ne pas lever le drapeaux \Seen (Message lu) s'il n'est + pas déjà levé. </simpara> </listitem> <listitem> <simpara> - <ulink url="&url.rfc;rfc822.html">RFC822</ulink>: Standard for - ARPA internet text messages. + FT_INTERNAL - La chaîne renvoyée est au format interne, + et ne va pas canoniser les CRLF. </simpara> </listitem> + </itemizedlist> + </para> + <para> + <function>imap_body</function> va retourner une copie brute du corps du + message. Pour extraire les sous parties MIME du message, utilisez + <function>imap_fetchstructure</function> pour analyser la structure, + et <function>imap_fetchbody</function> pour extraire une copie d'une + des sous-partie. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-check"> + <refnamediv> + <refname>imap_check</refname> + <refpurpose> + Vérifie le courrier de la boîte aux lettres courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_check</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_check</function> retourne les informations à + propos de la boîte aux lettres courante. + <function>imap_check</function> retourne <literal>FALSE</literal> + en cas d'échec. + </para> + <para> + <function>imap_check</function> vérifie le statut de la boîte + aux lettres courante, sur le serveur <parameter>imap_stream</parameter>, et + retourne les informations dans un objet avec les membres suivants : + </para> + <para> + <itemizedlist> <listitem> <simpara> - <ulink url="&url.rfc;rfc2060.html">RFC2060</ulink>: Internet - Message Access Protocol (<acronym>IMAP</acronym>) Version 4rev1. + Date - Date de dernière modification du contenu de la + boîte aux lettres </simpara> </listitem> <listitem> <simpara> - <ulink url="&url.rfc;rfc1939.html">RFC1939</ulink>: Post - Office Protocol Version 3 (<acronym>POP3</acronym>). + Driver - protocole utilisé pour accéder à la + boîte aux lettres: <acronym>POP3</acronym>, + <acronym>IMAP</acronym>, <acronym>NNTP</acronym>. </simpara> </listitem> <listitem> <simpara> - <ulink url="&url.rfc;rfc977.html">RFC977</ulink>: Network News - Transfer Protocol (<acronym>NNTP</acronym>). + Mailbox - nom de la boîte aux lettres </simpara> </listitem> <listitem> <simpara> - <ulink url="&url.rfc;rfc2076.html">RFC2076</ulink>: Common - Internet Message Headers. + Nmsgs - nombre de messages de la boîte aux lettres </simpara> </listitem> <listitem> <simpara> - <ulink url="&url.rfc;rfc2045.html">RFC2045</ulink> , <ulink - url="&url.rfc;rfc2046.html">RFC2046</ulink> , <ulink - url="&url.rfc;rfc2047.html">RFC2047</ulink> , <ulink - url="&url.rfc;rfc2048.html">RFC2048</ulink> & <ulink - url="&url.rfc;rfc2049.html">RFC2049</ulink>: Multipurpose - Internet Mail Extensions (MIME). + Recent - nombre de messages récents de la boîte aux lettres </simpara> </listitem> </itemizedlist> - Une étude approfondie est aussi disponibles dans les livres suivants - (en anglais): - <ulink url="&url.email.book;">Programming Internet Email</ulink> - par David Wood et <ulink url="&url.imap.book;">Managing - IMAP</ulink> par Dianna Mullet & Kevin Mullet. - </para> - </partintro> - <refentry id="function.imap-append"> - <refnamediv> - <refname>imap_append</refname> - <refpurpose> - Ajoute une chaîne dans une boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_append</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - <paramdef>string <parameter>message</parameter></paramdef> - <paramdef>string<parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_append</function> ajoute un message dans la boîte - aux lettres <parameter>mbox</parameter>. Si l'option - <parameter>flags</parameter> est utilisée, - <parameter>flags</parameter> sera aussi écrit dans la boîte - aux lettres. - </para> - <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - <para> - 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. - </para> - <para> - <example> - <title>Exemple avec <function>imap_append</function></title> - <programlisting role="php"> -<?php -$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@my.host\r\n" - ."To: you@your.host\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); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-base64"> - <refnamediv> - <refname>imap_base64</refname> - <refpurpose>Décode un texte encodé en BASE64.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_base64</function></funcdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_base64</function> décode un texte encodé - en BASE64. Le texte décodé est retourné sous la - forme d'une chaîne. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-body"> - <refnamediv> - <refname>imap_body</refname> - <refpurpose>Lit le corps d'un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_body</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_body</function> retourne le corps du message numéro - <parameter> msg_number</parameter> de la boîte aux lettres courante. - L'option <parameter>flags</parameter> est un masque qui peut contenir les - valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - FT_UID - msgno est un UID - </simpara> - </listitem> - <listitem> - <simpara> - FT_PEEK - Ne pas lever le drapeaux \Seen (Message lu) si il n'est - pas déjà levé. - </simpara> - </listitem> - <listitem> - <simpara> - FT_INTERNAL - La chaîne renvoyée est au format interne, - et ne va pas canoniser les CRLF. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - <function>imap_body</function> va retourner une copie brute du corps du - message. Pour extraire les sous parties MIME du message, utilisez - <function>imap_fetchstructure</function> pour analyser la structure, - et <function>imap_fetchbody</function> pour extraire une copie d'une - des sous-partie. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-check"> - <refnamediv> - <refname>imap_check</refname> - <refpurpose> - Vérifie le courrier de la boîte aux lettres courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_check</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_check</function> retourne les informations à - propos de la boîte aux lettres courante. Retourne &false; en cas - d'échec. - </para> - <para> - <function>imap_check</function> vérifie le statut de la boîte - aux lettres courante, sur le serveur <parameter>imap_stream</parameter>, et - retourne les informations dans un objet avec les membres suivants : - </para> - <para> - <itemizedlist> - <listitem> - <simpara> - Date - Date de dernière modification du contenu de la - boîte aux lettres - </simpara> - </listitem> - <listitem> - <simpara> - Driver - protocole utilisé pour accéder à la - boîte aux lettres: <acronym>POP3</acronym>, <acronym>IMAP</acronym>, - <acronym>NNTP</acronym>. - </simpara> - </listitem> - <listitem> - <simpara> - Mailbox - nom de la boîte aux lettres - </simpara> - </listitem> - <listitem> - <simpara> - Nmsgs - nombre de messages de la boîte aux lettres - </simpara> - </listitem> - <listitem> - <simpara> - Recent - nombre de messages récents de la boîte aux lettres - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-close"> - <refnamediv> - <refname>imap_close</refname> - <refpurpose>Termine un flot IMAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_close</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_close</function> termine un flot <acronym>IMAP</acronym>. - <function>imap_close</function> prend un argument optionnel - <parameter>flag</parameter>, CL_EXPUNGE, qui va retirer - automatiquement de la liste la boîte aux lettres. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-createmailbox"> - <refnamediv> - <refname>imap_createmailbox</refname> - <refpurpose>Crée une nouvelle boîte aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_createmailbox</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_createmailbox</function> crée une nouvelle boîte - aux lettres nommée <parameter>mbox</parameter>. Les noms - contenant des caractères spéciaux doivent être encodés. - </para> - <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - <para> - <example> - <title>Exemple avec <function>imap_createmailbox</function></title> - <programlisting role="php"> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-clearflag-full"> + <refnamediv> + <refname>imap_clearflag_full</refname> + <refpurpose>Supprime un flag sur un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string + <function>imap_clearflag_full</function> + </funcdef> + <paramdef>resource <parameter>stream</parameter></paramdef> + <paramdef>string <parameter>sequence</parameter></paramdef> + <paramdef>string <parameter>flag</parameter></paramdef> + <paramdef>string <parameter>options</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_clearflag_full</function> efface le flag + <parameter>flag</parameter> dans les messages de la séquence + <parameter>sequence</parameter>, du flot imap <parameter>stream</parameter>. + </para> + <para> + Les options sont un masque de bit, qui accepte les valeurs suivantes : + <informalexample> + <literallayout> + ST_UID : la séquence contient des UIDs au lieu de numéro + de séquence + </literallayout> + </informalexample> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-close"> + <refnamediv> + <refname>imap_close</refname> + <refpurpose>Termine un flot IMAP.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_close</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_close</function> termine un flot <acronym>IMAP</acronym>. + <function>imap_close</function> prend un argument optionnel + <parameter>flag</parameter>, CL_EXPUNGE, qui va retirer + automatiquement de la liste la boîte aux lettres. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-createmailbox"> + <refnamediv> + <refname>imap_createmailbox</refname> + <refpurpose>Crée une nouvelle boîte aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_createmailbox</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_createmailbox</function> crée une nouvelle boîte + aux lettres nommée <parameter>mbox</parameter>. Les noms + contenant des caractères spéciaux doivent être + encodés. + </para> + <para> + <function>imap_createmailbox</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + <example> + <title>Exemple avec <function>imap_createmailbox</function></title> + <programlisting role="php"> <?php $mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) - || die("connexion impossible: ".imap_last_error()); + or die("connexion impossible: ".imap_last_error()); $name1 = "nouvellephpbox"; $name2 = imap_utf7_encode("nouvellephpboxéx"); $newname = $name1; -echo "Le nouveau nom sera '$name1'<br>\n"; +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 +# dans votre dossier inbox, vérifier son état et finalement, la supprimer # pour remettre votre inbox dans son état initial. -if(@imap_createmailbox($mbox,imap_utf7_encode("{your.imap.host}INBOX.$newname"))) { - $status = @imap_status($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(@imap_deletemailbox($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"; - } +if(@imap_createmailbox($mbox,imap_utf7_encode("{your.imap.host}INBOX.$newname"))){ + $status = @imap_status($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(@imap_deletemailbox($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"; + print "Impossible de créer une nouvelle boîte aux lettres : ".implode("<br>\n",imap_errors())."<br>\n"; } imap_close($mbox); ?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>imap_renamemailbox</function>, - <function>imap_deletemailbox</function> et - <function>imap_open</function> pour connaître le format des noms de - <parameter>mbox</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-delete"> - <refnamediv> - <refname>imap_delete</refname> - <refpurpose> - Marque le fichier pour l'effacement, dans la boîte aux lettres courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_delete</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>int - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_delete</function> retourne &true;. - </para> - <para> - <function>imap_delete</function> marque le fichier - <parameter>msg_number</parameter> pour l'effacement, dans la - boîte aux lettres courante. Le paramètre optionnel - <parameter>flags</parameter> ne prend qu'une seule valeur, - <parameter>FT_UID</parameter>, qui indique à PHP qu'il faut traiter - <parameter>msg_number</parameter> comme un <parameter>UID</parameter>. - L'effacement réel n'interviendra que lors de l'appel de la fonction - <function>imap_expunge</function>. - </para> - <para> - <example> - <title>Exemple <function>imap_delete</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + <para> + Voir aussi <function>imap_renamemailbox</function>, + <function>imap_deletemailbox</function> et + <function>imap_open</function> pour connaître le format des noms de + <parameter>mbox</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-delete"> + <refnamediv> + <refname>imap_delete</refname> + <refpurpose> + Marque le fichier pour l'effacement, dans la boîte aux lettres courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_delete</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>int + <parameter><optional>flags</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_delete</function> retourne <literal>TRUE</literal>. + </para> + <para> + <function>imap_delete</function> marque le fichier + <parameter>msg_number</parameter> pour l'effacement, dans la + boîte aux lettres courante. Le paramètre optionnel + <parameter>flags</parameter> ne prend qu'une seule valeur, + <parameter>FT_UID</parameter>, qui indique à PHP qu'il faut traiter + <parameter>msg_number</parameter> comme un <parameter>UID</parameter>. + L'effacement réel n'interviendra que lors de l'appel de la fonction + <function>imap_expunge</function>. + </para> + <para> + <example> + <title>Exemple <function>imap_delete</function></title> + <programlisting role="php"> <?php $mbox = imap_open ("{your.imap.host}INBOX", "utilisateur", "mot_de_passe") - || die ("connexion impossible: " . imap_last_error()); + or die ("connexion impossible: " . imap_last_error()); $check = imap_mailboxmsginfo ($mbox); -print "Nombre de messages avant effacement : " . $check->Nmsgs . "<br>\n" ; +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" ; +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" ; +print "Nombre de messages après imap_expunge: " . $check->Nmsgs . "<br>\n" ; imap_close ($mbox); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-deletemailbox"> - <refnamediv> - <refname>imap_deletemailbox</refname> - <refpurpose>Efface une boîte aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_deletemailbox</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_deletemailbox</function> efface la boîte aux lettres - (voir <function>imap_open</function> pour connaître le format - des noms de <parameter>mbox</parameter>). - </para> - <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - <para> - Voir aussi <function>imap_createmailbox</function>, - <function>imap_renamemailbox</function>, et - <function>imap_open</function> pour le format du paramètre - <parameter>mbox</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-expunge"> - <refnamediv> - <refname>imap_expunge</refname> - <refpurpose> - Efface tous les messages marqués pour l'effacement. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_expunge</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_expunge</function> efface tous les messages marqués pour - l'effacement par <function>imap_delete</function>. - </para> - <para> - Retourne &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-fetchbody"> - <refnamediv> - <refname>imap_fetchbody</refname> - <refpurpose>Retourne une section extraite du corps d'un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_fetchbody</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>string <parameter>part_number</parameter></paramdef> - <paramdef>flags - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_fetchbody</function> 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 - <function>imap_fetchbody</function>. - </para> - <para> - L'option <function>imap_fetchbody </function> est un masque qui peut - contenir les valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - FT_UID - msgono est un UID - </simpara> - </listitem> - <listitem> - <simpara> - FT_PEEK - Ne pas lever le drapeau \Seen (Message lu) si il n'est pas - déjà levé. - </simpara> - </listitem> - <listitem> - <simpara> - FT_INTERNAL - La chaîne renvoyée est au format interne, et - ne va pas canoniser les CRLF. - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-fetchstructure"> - <refnamediv> - <refname>imap_fetchstructure</refname> - <refpurpose> - Lit la structure d'un message. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object - <function>imap_fetchstructure</function> - </funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>int + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-deletemailbox"> + <refnamediv> + <refname>imap_deletemailbox</refname> + <refpurpose>Efface une boîte aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_deletemailbox</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_deletemailbox</function> efface la boîte aux lettres + (voir <function>imap_open</function> pour connaître le format + des noms de <parameter>mbox</parameter>). + </para> + <para> + <function>imap_deletemailbox</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + Voir aussi + <function>imap_createmailbox</function>, + <function>imap_renamemailbox</function> et + <function>imap_open</function> pour le format du paramètre + <parameter>mbox</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-errors"> + <refnamediv> + <refname>imap_errors</refname> + <refpurpose> + Retourne toutes les erreurs + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_errors</function></funcdef> + <paramdef>void </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_errors</function> retourne tous les messages d'erreurs + <acronym>IMAP</acronym> générés depuis le dernier + appel à <function>imap_errors</function>, ou depuis le + début de la page. Lorsque <function>imap_errors</function> est + appelés, la pile d'erreur est vidée. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-expunge"> + <refnamediv> + <refname>imap_expunge</refname> + <refpurpose> + Efface tous les messages marqués pour l'effacement. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_expunge</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_expunge</function> efface tous les messages marqués pour + l'effacement par <function>imap_delete</function>. + </para> + <para> + <function>imap_expunge</function> retourne <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-fetch-overview"> + <refnamediv> + <refname>imap_fetch_overview</refname> + <refpurpose> + Lit un sommaire des en-têtes de messages + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_fetch_overview</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>sequence</parameter></paramdef> + <paramdef>int <parameter><optional>flags</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_fetch_overview</function> lit les en-têtes des courriers + électroniques de la séquence <parameter>sequence</parameter> et retourne + un sommaire de leur contenu. <parameter>sequence</parameter> va contenir + une séquence d'indice de message ou d'UIDs, si <parameter>flags</parameter> + cotient FT_UID. La valeur retournée est un tableau d'objets, un par + message d'en-tête décrit : + <itemizedlist> + <listitem> + <simpara> + subject - Le sujet du message + </simpara> + </listitem> + <listitem> + <simpara> + from - Expéditeur + </simpara> + </listitem> + <listitem> + <simpara> + date - Date d'expédition + </simpara> + </listitem> + <listitem> + <simpara> + message_id - Identification du message + </simpara> + </listitem> + <listitem> + <simpara> + references - est une référence sur l'id de ce message + </simpara> + </listitem> + <listitem> + <simpara> + size - taille en octets + </simpara> + </listitem> + <listitem> + <simpara> + uid - UID du message dans la boîte aux lettres + </simpara> + </listitem> + <listitem> + <simpara> + msgno - numéro de séquence du message dans la boîte + </simpara> + </listitem> + <listitem> + <simpara> + recent - Ce message est récent + </simpara> + </listitem> + <listitem> + <simpara> + flagged - Ce message est marqué + </simpara> + </listitem> + <listitem> + <simpara> + answered - Ce message a donné lieu à une réponse + </simpara> + </listitem> + <listitem> + <simpara> + deleted - Ce message est marqué pour l'effacement + </simpara> + </listitem> + <listitem> + <simpara> + seen - Ce message est déjà lu + </simpara> + </listitem> + <listitem> + <simpara> + draft - Ce message est un brouillon + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + <example> + <title>Exemple avec <function>imap_fetch_overview</function></title> + <programlisting role="php"> +<?php +$mbox = imap_open("{votre.hote.imap}","utilisateur","mot_de_passe") + or die("connexion impossible : ".imap_last_error()); +$overview = imap_fetch_overview($mbox,"2,4:6",0); +if(is_array($overview)) { + reset($overview); + while( list($key,$val) = each($overview)) { + print $val->msgno + . " - " . $val->date + . " - " . $val->subject + . "\n"; + } +} +imap_close($mbox); +?> + </programlisting> + </example> + </para> + <para> + Voir aussi + <function>imap_fetchstructure</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-fetchbody"> + <refnamediv> + <refname>imap_fetchbody</refname> + <refpurpose>Retourne une section extraite du corps d'un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_fetchbody</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>string <parameter>part_number</parameter></paramdef> + <paramdef>flags <parameter><optional>flags</optional></parameter> </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_fetchstructure</function> la structure du message - <parameter>msg_number</parameter>. <function>imap_fetchstructure</function> - dispose d'une option <optional>flags</optional>, qui une seule valeur, - <parameter>FT_UID</parameter>, pour indiquer que l'argument - <parameter>msg_number</parameter> est un <parameter>UID</parameter>. - 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 : - </para> - <para> - <table> - <title> - Objets retournés par <function>imap_fetchstructure</function> - </title> - <tgroup cols="2"> - <tbody> - <row> - <entry>type</entry> - <entry>Type primaire de corps</entry> - </row> - <row> - <entry>encoding</entry> - <entry>Codage de transfert du corps</entry> - </row> - <row> - <entry>ifsubtype</entry> - <entry>&true; si il y a une chaîne de sous type</entry> - </row> - <row> - <entry>subtype</entry> - <entry>sous type<acronym>MIME</acronym></entry> - </row> - <row> - <entry>ifdescription</entry> - <entry>&true; si il y au ne chaîne de description</entry> - </row> - <row> - <entry>description</entry> - <entry>Chaîne de description du contenu</entry> - </row> - <row> - <entry>ifid</entry> - <entry>&true; si il y a une chaîne d'identification</entry> - </row> - <row> - <entry>id</entry> - <entry>Chaîne d'identification</entry> - </row> - <row> - <entry>lines</entry> - <entry>Nombre de lignes</entry> - </row> - <row> - <entry>bytes</entry> - <entry>Nombre d'octets</entry> - </row> - <row> - <entry>ifdisposition</entry> - <entry>&true; si il y a une chaîne de disposition</entry> - </row> - <row> - <entry>disposition</entry> - <entry>Chaîne de disposition</entry> - </row> - <row> - <entry>ifdparameters</entry> - <entry>&true; s'il y a un tableau de paramètres dparameters</entry> - </row> - <row> - <entry>dparameters</entry> - <entry>tableau de disposition</entry> - </row> - <row> - <entry>ifparameters</entry> - <entry>&true; si le tableau de paramètres existe</entry> - </row> - <row> - <entry>parameters</entry> - <entry>Tableau de paramètres <acronym>MIME</acronym></entry> - </row> - <row> - <entry>parts</entry> - <entry>Tableau d'objet décrivant chaque partie du message</entry> - </row> - </tbody> - </tgroup> - </table> - </para> - <note> - <orderedlist> - <listitem> - <para> - dparameters est un tableau d'objet oú chaque objet à - un "attribut" et une "valeur". - </para> - </listitem> - <listitem> - <para> - parameter est un tableau d'objet oú chaque objet à un - "attribut" et une "valeur". - </para> - </listitem> - <listitem> - <para> - 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. - </para> - </listitem> - </orderedlist> - </note> - <para> - <table> - <title>Type primaire de corps</title> - <tgroup cols="2"> - <tbody> - <row><entry>0</entry><entry>text</entry></row> - <row><entry>1</entry><entry>multipart</entry></row> - <row><entry>2</entry><entry>message</entry></row> - <row><entry>3</entry><entry>application</entry></row> - <row><entry>4</entry><entry>audio</entry></row> - <row><entry>5</entry><entry>image</entry></row> - <row><entry>6</entry><entry>vidéo</entry></row> - <row><entry>7</entry><entry>autre</entry></row> - </tbody> - </tgroup> - </table> - </para> - <para> - <table> - <title>Codage de transfert</title> - <tgroup cols="2"> - <tbody> - <row><entry>0</entry><entry>7BIT</entry></row> - <row><entry>1</entry><entry>8BIT</entry></row> - <row><entry>2</entry><entry>BINARY</entry></row> - <row><entry>3</entry><entry>BASE64</entry></row> - <row><entry>4</entry><entry>QUOTED-PRINTABLE</entry></row> - <row><entry>5</entry><entry>OTHER</entry></row> - </tbody> - </tgroup> - </table> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-headerinfo"> - <refnamediv> - <refname>imap_headerinfo</refname> - <refpurpose>Lit l'entête du message</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_headerinfo</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>int - <parameter><optional>fromlength</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>subjectlength</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>defaulthost</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_headerinfo</function> retourne un objet contenant - divers éléments d'entête. - </para> - <para> - <informalexample> - <literallayout> - 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 <parameter>fromlength</parameter> -caractères) -fetchsubject (Ligne d'entête subject formatée pour tenir dans <parameter>subjectlength</parameter> caractères) - </literallayout> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-header"> - <refnamediv> - <refname>imap_header</refname> - <refpurpose>Lit l'entête d'un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_header</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>int - <parameter><optional>fromlength</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>subjectlength</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>defaulthost</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - Cette fonction est un alias de <function>imap_headerinfo</function> - et lui est identique en tout point. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-rfc822-parse-headers"> - <refnamediv> - <refname>imap_rfc822_parse_headers</refname> - <refpurpose>Analyse un entête mail</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_rfc822_parse_headers</function></funcdef> - <paramdef>string <parameter>headers</parameter></paramdef> - <paramdef>string - <parameter><optional>defaulthost</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_rfc822_parse_headers</function> analyse la chaîne - <parameter>headers</parameter>, et retourne un objet contenant - differents éléments, similaires à la fonction - <function>imap_header</function>, hormis les flags, et autres - éléments liés au serveur <acronym>IMAP</acronym>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-headers"> - <refnamediv> - <refname>imap_headers</refname> - <refpurpose> - Retourne les entêtes de tous les messages d'une boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_headers</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_headers</function> retourne un tableau de chaîne - contenant les entête des messages. Une chaîne par message. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-listmailbox"> - <refnamediv> - <refname>imap_listmailbox</refname> - <refpurpose>Liste les boîtes aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_listmailbox</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>ref</parameter></paramdef> - <paramdef>string <parameter>pat</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_listmailbox</function> retourne un tableau contenant les - noms des boîtes aux lettres. - </para> - <para> - <example> - <title>Exemple avec <function>imap_listmailbox</function></title> - <programlisting role="php"> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_fetchbody</function> 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 + <function>imap_fetchbody</function>. + </para> + <para> + L'option <function>imap_fetchbody </function> est un masque qui peut + contenir les valeurs suivantes : + <itemizedlist> + <listitem> + <simpara> + FT_UID - msgono est un UID + </simpara> + </listitem> + <listitem> + <simpara> + FT_PEEK - Ne pas lever le drapeau \Seen (Message lu) s'il n'est pas + déjà levé. + </simpara> + </listitem> + <listitem> + <simpara> + FT_INTERNAL - La chaîne renvoyée est au format interne, et + ne va pas canoniser les CRLF. + </simpara> + </listitem> + </itemizedlist> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-fetchheader"> + <refnamediv> + <refname>imap_fetchheader</refname> + <refpurpose>Retourne l'en-tête d'un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_fetchheader</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msgno</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_fetchheader</function> retourne l'en-tête brute et + complète RFC 822 du message <parameter>msgno</parameter>, et le retourne + sous la forme d'une chaîne. + </para> + <para> + Les options sont : + <informalexample> + <literallayout> + FT_UID L'argument <parameter>msgno</parameter> 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'en-tête. + Cela réduit le RTT sur une connexion <acronym>IMAP</acronym>, si + le message complet est souhaité. (e.g. dans une opération + de sauvegarde dans un fichier). + </literallayout> + </informalexample> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-fetchstructure"> + <refnamediv> + <refname>imap_fetchstructure</refname> + <refpurpose> + Lit la structure d'un message. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object + <function>imap_fetchstructure</function> + </funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>int + <parameter><optional>flags</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_fetchstructure</function> la structure du message + <parameter>msg_number</parameter>. <function>imap_fetchstructure</function> + dispose d'une option <optional>flags</optional>, qui une seule valeur, + <parameter>FT_UID</parameter>, pour indiquer que l'argument + <parameter>msg_number</parameter> est un <parameter>UID</parameter>. + <function>imap_fetchstructure</function> 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 : + </para> + <para> + <table> + <title> + Objets retournés par <function>imap_fetchstructure</function> + </title> + <tgroup cols="2"> + <tbody> + <row> + <entry>type</entry> + <entry>Type primaire de corps</entry> + </row> + <row> + <entry>encoding</entry> + <entry>Codage de transfert du corps</entry> + </row> + <row> + <entry>ifsubtype</entry> + <entry><literal>TRUE</literal> s'il y a une chaîne de sous type</entry> + </row> + <row> + <entry>subtype</entry> + <entry>sous type<acronym>MIME</acronym></entry> + </row> + <row> + <entry>ifdescription</entry> + <entry><literal>TRUE</literal> s'il y au ne chaîne de description</entry> + </row> + <row> + <entry>description</entry> + <entry>Chaîne de description du contenu</entry> + </row> + <row> + <entry>ifid</entry> + <entry><literal>TRUE</literal> s'il y a une chaîne d'identification</entry> + </row> + <row> + <entry>id</entry> + <entry>Chaîne d'identification</entry> + </row> + <row> + <entry>lines</entry> + <entry>Nombre de lignes</entry> + </row> + <row> + <entry>bytes</entry> + <entry>Nombre d'octets</entry> + </row> + <row> + <entry>ifdisposition</entry> + <entry><literal>TRUE</literal> s'il y a une chaîne de disposition</entry> + </row> + <row> + <entry>disposition</entry> + <entry>Chaîne de disposition</entry> + </row> + <row> + <entry>ifdparameters</entry> + <entry> + <literal>TRUE</literal> s'il y a un tableau de paramètres dparameters + </entry> + </row> + <row> + <entry>dparameters</entry> + <entry>tableau de disposition</entry> + </row> + <row> + <entry>ifparameters</entry> + <entry><literal>TRUE</literal> si le tableau de paramètres existe</entry> + </row> + <row> + <entry>parameters</entry> + <entry>Tableau de paramètres <acronym>MIME</acronym></entry> + </row> + <row> + <entry>parts</entry> + <entry>Tableau d'objet décrivant chaque partie du message</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <note> + <orderedlist> + <listitem> + <para> + dparameters est un tableau d'objet où chaque objet à + un "attribut" et une "valeur". + </para> + </listitem> + <listitem> + <para> + parameter est un tableau d'objet où chaque objet à un + "attribut" et une "valeur". + </para> + </listitem> + <listitem> + <para> + 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. + </para> + </listitem> + </orderedlist> + </note> + <para> + <table> + <title>Type primaire de corps</title> + <tgroup cols="2"> + <tbody> + <row><entry>0</entry><entry>text</entry></row> + <row><entry>1</entry><entry>multipart</entry></row> + <row><entry>2</entry><entry>message</entry></row> + <row><entry>3</entry><entry>application</entry></row> + <row><entry>4</entry><entry>audio</entry></row> + <row><entry>5</entry><entry>image</entry></row> + <row><entry>6</entry><entry>vidéo</entry></row> + <row><entry>7</entry><entry>autre</entry></row> + </tbody> + </tgroup> + </table> + </para> + <para> + <table> + <title>Codage de transfert</title> + <tgroup cols="2"> + <tbody> + <row><entry>0</entry><entry>7BIT</entry></row> + <row><entry>1</entry><entry>8BIT</entry></row> + <row><entry>2</entry><entry>BINARY</entry></row> + <row><entry>3</entry><entry>BASE64</entry></row> + <row><entry>4</entry><entry>QUOTED-PRINTABLE</entry></row> + <row><entry>5</entry><entry>OTHER</entry></row> + </tbody> + </tgroup> + </table> + </para> + <para> + Voir aussi + <function>imap_fetchstructure</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-get-quota"> + <refnamediv> + <refname>imap_get_quota</refname> + <refpurpose> + Lit les quotas des boîtes aux lettres + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_get_quota</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>quota_root</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_get_quota</function> retourne un tableau contenant + les valeurs de quota et courante de la boîte aux lettres + <parameter>quota_root</parameter>. Le quota représente la + taille maximale de votre boîte aux lettres. La valeur courante + est l'espace actuellement utilisé par votre boîte aux lettres. + <function>imap_get_quota</function> retournera <literal>FALSE</literal> + en cas d'échec. + </para> + <para> + <function>imap_get_quota</function> ne fonctionne actuellement qu'avec + les librairies c-client2000. + </para> + <para> + <parameter>imap_stream</parameter> doit avoir été créé + avec la fonction <function>imap_open</function>. Ce flot est + nécessairement ouvert en tant qu'administrateur du serveur, pour que + les droits nécessaires lui soit alloué. + <parameter>quota_root</parameter> doit être de la forme : + "<literal>user.nom</literal>", où "nom" est le nom de la + boîte aux lettres que vous souhaitez analyser. + </para> + <para> + <example> + <title>Exemple avec <function>imap_get_quota</function></title> + <programlisting role="php"> <?php -$mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) - || die("connexion impossible: ".imap_last_error()); -$list = imap_listmailbox($mbox,"{your.imap.host}","*"); -if(is_array($list)) { - reset($list); - while (list($key, $val) = each($list)) - print imap_utf7_decode($val)."<br>\n"; -} else - print "imap_listmailbox a échoué: ".imap_last_error()."\n"; +$mbox = imap_open("{votre.hote.imap}","mailadmin","mot de passe",OP_HALFOPEN) + or die("Connexion impossible : ".imap_last_error()); +$quota_value = imap_get_quota($mbox, "user.toto"); +if(is_array($quota_value)) { + print "Utilisation actuelle : " . $quota_value['usage']; + print "Quota : " . $quota_value['limit']; +} imap_close($mbox); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-getmailboxes"> - <refnamediv> - <refname>imap_getmailboxes</refname> - <refpurpose> - Liste les boîtes aux lettres, et retourne le détail pour chacune. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_getmailboxes</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>ref</parameter></paramdef> - <paramdef>string <parameter>pat</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_getmailboxes</function> retourne un tableau d'objets contenant - les informations sur les boîtes aux lettres. Chaque objet a les attributs - de <parameter>name</parameter>, qui contient le nom complet de la boîte - aux lettres; <parameter>delimiter</parameter>, qui est le délimiteur - hiérarchique; et <parameter>attributes</parameter>. - <parameter>Attributes</parameter> est un masque de bits, qui contient : - <itemizedlist> - <listitem> - <simpara> - 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). - </simpara> - </listitem> - <listitem> - <simpara> - LATT_NOSELECT - Ceci est juste un container, pas une boîte aux lettres - (vous ne pouvez pas l'ouvrir). - </simpara> - </listitem> - <listitem> - <simpara> - LATT_MARKED - Cette boîte aux lettres est marquée. - Utilisé uniquement avec UW-IMAPD. - </simpara> - </listitem> - <listitem> - <simpara> - LATT_UNMARKED - Cette boîte aux lettres n'est pas - marquée. Utilisé uniquement avec UW-IMAPD. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - <parameter>ref</parameter> ne devrait être que le serveur <acronym>IMAP</acronym> - sous la forme <literal>{imap_server:imap_port}</literal>, et - <parameter>pattern</parameter> 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 <parameter>pattern</parameter>. - </para> - <para> - Il y a deux caractères spéciaux que vous pouvez utiliser dans - <parameter>pattern</parameter> : '*' et '%'. '*' signifie : toutes les - boîtes aux lettres. Si vous passez <parameter>pattern</parameter> - 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é à <parameter>pattern</parameter> - 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 <filename>~/mail directory</filename>, mais pas leurs enfants. - </para> - <para> - <example> - <title>Exemple avec <function>imap_getmailboxes</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + <para> + Voir aussi + <function>imap_open</function> et + <function>imap_set_quota</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-getmailboxes"> + <refnamediv> + <refname>imap_getmailboxes</refname> + <refpurpose> + Liste les boîtes aux lettres, et retourne le détail pour chacune. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_getmailboxes</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>ref</parameter></paramdef> + <paramdef>string <parameter>pat</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_getmailboxes</function> retourne un tableau d'objets contenant + les informations sur les boîtes aux lettres. Chaque objet a les attributs + de <parameter>name</parameter>, qui contient le nom complet de la boîte + aux lettres; <parameter>delimiter</parameter>, qui est le délimiteur + hiérarchique; et <parameter>attributes</parameter>. + <parameter>Attributes</parameter> est un masque de bits, qui contient : + <itemizedlist> + <listitem> + <simpara> + 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). + </simpara> + </listitem> + <listitem> + <simpara> + LATT_NOSELECT - Ceci est juste un container, pas une boîte aux lettres + (vous ne pouvez pas l'ouvrir). + </simpara> + </listitem> + <listitem> + <simpara> + LATT_MARKED - Cette boîte aux lettres est marquée. + Utilisé uniquement avec UW-IMAPD. + </simpara> + </listitem> + <listitem> + <simpara> + LATT_UNMARKED - Cette boîte aux lettres n'est pas + marquée. Utilisé uniquement avec UW-IMAPD. + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + <parameter>ref</parameter> ne devrait être que le serveur <acronym>IMAP</acronym> + sous la forme <literal>{imap_server:imap_port}</literal>, et + <parameter>pattern</parameter> 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 <parameter>pattern</parameter>. + </para> + <para> + Il y a deux caractères spéciaux que vous pouvez utiliser dans + <parameter>pattern</parameter> : '*' et '%'. '*' signifie : toutes les + boîtes aux lettres. Si vous passez <parameter>pattern</parameter> + 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é à <parameter>pattern</parameter> + 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 <filename>~/mail directory</filename>, mais pas leurs enfants. + </para> + <para> + <example> + <title>Exemple avec <function>imap_getmailboxes</function></title> + <programlisting role="php"> <?php $mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) - || die("connexion impossible: ".imap_last_error()); + or die("connexion impossible: ".imap_last_error()); $list = imap_getmailboxes($mbox,"{your.imap.host}","*"); if(is_array($list)) { - reset($list); - while (list($key, $val) = each($list)) - { - print "($key) "; - print imap_utf7_decode($val->name).","; - print "'".$val->delimiter."',"; - print $val->attributes."<br>\n"; - } + reset($list); + while (list($key, $val) = each($list)) + { + print "($key) "; + print imap_utf7_decode($val->name).","; + print "'".$val->delimiter."',"; + print $val->attributes."<br>\n"; + } } else - print "imap_getmailboxes a échoué : ".imap_last_error()."\n"; + print "imap_getmailboxes a échoué : ".imap_last_error()."\n"; imap_close($mbox); ?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>imap_getsubscribed</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-get-quota"> - <refnamediv> - <refname>imap_get_quota</refname> - <refpurpose> - Lit les quotas des boîtes aux lettres - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_get_quota</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>quota_root</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_get_quota</function> retourne un tableau contenant - les valeurs de quota et courante de la boîte aux lettres - <parameter>quota_root</parameter>. Le quota représente la - taille maximale de votre boîte aux lettres. La valeur courante - est l'espace actuellement utilisé par votre boîte aux lettres. - <function>imap_get_quota</function> retournera &false; - en cas d'échec. - </para> - <para> - <function>imap_get_quota</function> ne fonctionne actuellement qu'avec - les librairies c-client2000. - </para> - <para> - <parameter>imap_stream</parameter> doit avoir été créé - avec la fonction <function>imap_open</function>. Ce flot est - nécessairement ouvert en tant qu'administrateur du serveur, pour que - les droits nécessaires lui soit alloué. - <parameter>quota_root</parameter> doit être de la forme : - "<literal>user.nom</literal>", où "nom" est le nom de la - boîte aux lettres que vous souhaitez analyser. - </para> - <para> - <example> - <title>Exemple avec <function>imap_get_quota</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + <para> + Voir aussi <function>imap_getsubscribed</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-getsubscribed"> + <refnamediv> + <refname>imap_getsubscribed</refname> + <refpurpose>Liste toutes les boîtes aux lettres souscrites.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_getsubscribed</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>ref</parameter></paramdef> + <paramdef>string <parameter>pattern</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_getsubscribed</function> est identique à + <function>imap_getmailboxes</function>, mais ne retourne que les + boîtes aux lettres auxquelles l'utilisateur est inscrit. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-header"> + <refnamediv> + <refname>imap_header</refname> + <refpurpose>Lit l'en-tête d'un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_header</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>int + <parameter><optional>fromlength</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>subjectlength</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>defaulthost</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_header</function> est un alias de + <function>imap_headerinfo</function> et lui est identique en tous points. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-headerinfo"> + <refnamediv> + <refname>imap_headerinfo</refname> + <refpurpose>Lit l'en-tête du message</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_headerinfo</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>int + <parameter><optional>fromlength</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>subjectlength</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>defaulthost</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_headerinfo</function> retourne un objet contenant + divers éléments d'en-tête. + </para> + <para> + <informalexample> + <literallayout> + remail, date, Date, subject, Subject, in_reply_to, message_id, + newsgroups, followup_to, references +éléments d'en-tête : + 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'en-tête To: jusqu'à 1024 caractères) +to[] (retourne un objet avec tout l'en-tête To, contenant): + personal + adl + mailbox + host +fromaddress (toute la ligne d'en-tête from: jusqu'à 1024 caractères) +from[] (retourne un objet avec tout l'en-tête From, contenant): + personal + adl + mailbox + host +ccaddress (toute la ligne d'en-tête CC: jusqu'à 1024 caractères) +cc[] (retourne un objet avec tout l'en-tête CC, contenant): + personal + adl + mailbox + host +bccaddress (toute la ligne d'en-tête BCC: jusqu'à 1024 caractères) +bcc[] (retourne un objet avec tout l'en-tête BCC, contenant): + personal + adl + mailbox + host +reply_toaddress (oute la ligne d'en-tête Reply_to: jusqu'à 1024 caractères) +reply_to[] (retourne un objet avec tout l'en-tête Reply_to, contenant) + personal + adl + mailbox + host +senderaddress (toute la ligne d'en-tête Sender: jusqu'à 1024 caractères) +sender[] (retourne un objet avec tout l'en-tête Sender, contenant) + personal + adl + mailbox + host +return_path (toute la ligne d'en-tête Return-path: jusqu'à 1024 caractères) +return_path[] (retourne un objet avec tout l'en-tête Return-path, contenant) + personal + adl + mailbox + host +udate (Date du mail, au format UNIX) +fetchfrom (Ligne d'en-tête from formatée pour tenir dans <parameter>fromlength</parameter> +caractères) +fetchsubject (Ligne d'en-tête subject formatée pour tenir dans <parameter>subjectlength</parameter> caractères) + </literallayout> + </informalexample> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-headers"> + <refnamediv> + <refname>imap_headers</refname> + <refpurpose> + Retourne les en-têtes de tous les messages d'une boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_headers</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_headers</function> retourne un tableau de chaîne + contenant les en-tête des messages. Une chaîne par message. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-last-error"> + <refnamediv> + <refname>imap_last_error</refname> + <refpurpose> + Retourne la dernière erreur (si elle existe) qui est survenu lors + de la dernière requête. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_last_error</function></funcdef> + <paramdef>void </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_last_error</function> retourne le texte complet de la + dernière erreur <acronym>IMAP</acronym> (si elle existe) qui + est survenu lors de la dernière requête. La pile d'erreur + n'est pas touchée. Appeler <function>imap_last_error</function> + successivement dans nouvelles erreurs retournera la même erreur. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-listmailbox"> + <refnamediv> + <refname>imap_listmailbox</refname> + <refpurpose>Liste les boîtes aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_listmailbox</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>ref</parameter></paramdef> + <paramdef>string <parameter>pat</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_listmailbox</function> retourne un tableau contenant les + noms des boîtes aux lettres. + </para> + <para> + <example> + <title>Exemple avec <function>imap_listmailbox</function></title> + <programlisting role="php"> <?php -$mbox = imap_open("{votre.hote.imap}","mailadmin","mot de passe",OP_HALFOPEN) - || die("Connexion impossible : ".imap_last_error()); -$quota_value = imap_get_quota($mbox, "user.toto"); -if(is_array($quota_value)) { - print "Utilisation actuelle : " . $quota_value['usage']; - print "Quota : " . $quota_value['limit']; -} +$mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) + or die("connexion impossible: ".imap_last_error()); +$list = imap_listmailbox($mbox,"{your.imap.host}","*"); +if(is_array($list)) { + reset($list); + while (list($key, $val) = each($list)) + print imap_utf7_decode($val)."<br>\n"; +} else + print "imap_listmailbox a échoué: ".imap_last_error()."\n"; imap_close($mbox); ?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>imap_open</function> et - <function>imap_set_quota</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-listsubscribed"> - <refnamediv> - <refname>imap_listsubscribed</refname> - <refpurpose>Liste les boîtes aux lettres souscrites.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_listsubscribed</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>ref</parameter></paramdef> - <paramdef>string <parameter>pattern</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_listsubscribed</function> retourne un tableau avec toutes les - boîtes aux lettres auxquelles vous avez souscrit. - Les arguments <parameter>ref</parameter> et <parameter>pattern</parameter> - indiquent respectivement, le dossier oú chercher et le nom des - boîtes recherchées, sous la forme d'un masque. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-set-quota"> - <refnamediv> - <refname>imap_set_quota</refname> - <refpurpose>Modifie le quota d'une boîte aux lettres</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_set_quota</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>quota_root</parameter></paramdef> - <paramdef>int <parameter>quota_limit</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_set_quota</function> modifie le quota de la - boîte aux lettres <parameter>quota_root</parameter>, en la - fixant à <parameter>quota_limit</parameter>. <function>imap_set_quota</function> - requiert que <parameter>imap_stream</parameter> ait été - ouvert avec un compte d'administrateur, pour avoir les droits - nécessaires : elle ne fonctionnera avec aucun autre - utilisateur. - </para> - <para> - <function>imap_get_quota</function> ne fonctionne actuellement qu'avec - les librairies c-client2000. - </para> - <para> - <parameter>imap_stream</parameter> doit avoir été créé - avec la fonction <function>imap_open</function>. Ce flot est - nécessairement ouvert en tant qu'administrateur du serveur, pour que - les droits nécessaires lui soit alloué. - <parameter>quota_root</parameter> doit être de la forme : - "<literal>user.nom</literal>", où "nom" est le nom de la - boîte aux lettres que vous souhaitez analyser. - <parameter>quota_limit</parameter> est la nouvelle taille - maximum (en ko) de la boîte <parameter>quota_root</parameter>. - </para> - <para> - <function>imap_set_quota</function> retourne &true; - en cas de succès, et &false; sinon. - </para> - <para> - <example> - <title><function>imap_set_quota</function> example</title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-listsubscribed"> + <refnamediv> + <refname>imap_listsubscribed</refname> + <refpurpose>Liste les boîtes aux lettres souscrites.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_listsubscribed</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>ref</parameter></paramdef> + <paramdef>string <parameter>pattern</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_listsubscribed</function> retourne un tableau avec toutes les + boîtes aux lettres auxquelles vous avez souscrit. + Les arguments <parameter>ref</parameter> et <parameter>pattern</parameter> + indiquent respectivement, le dossier où chercher et le nom des + boîtes recherchées, sous la forme d'un masque. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mail"> + <refnamediv> + <refname>imap_mail</refname> + <refpurpose> + Envoie un message mail + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_mail</function></funcdef> + <paramdef>string <parameter>to</parameter></paramdef> + <paramdef>string <parameter>subject</parameter></paramdef> + <paramdef>string <parameter>message</parameter></paramdef> + <paramdef>string + <parameter><optional>additional_headers</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>cc</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>bcc</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>rpath</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_mail</function> est uniquement disponible sous PHP 3. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mail-compose"> + <refnamediv> + <refname>imap_mail_compose</refname> + <refpurpose> + Crée un message MIME + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_mail_compose</function></funcdef> + <paramdef>array <parameter>envelope</parameter></paramdef> + <paramdef>array <parameter>body</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + </para> + <para> + <example> + <title>Exemple <function>imap_mail_compose</function></title> + <programlisting role="php"> <?php -$mbox = imap_open ("{votre.hote.imap:143}", "mailadmin", "mot de passe"); -if(!imap_set_quota($mbox, "user.toto", 3000)) { - print "Erreur lors de la modification des quotas\n"; - return; +$envelope["from"]="musone@afterfive.com"; +$envelope["to"]="musone@darkstar"; +$envelope["cc"]="musone@edgeglobal.com"; +$part1["type"]=TYPEMULTIPART; +$part1["subtype"]="mixed"; +$filename="/tmp/imap.c.gz"; +$fp=fopen($filename,"r"); +$contents=fread($fp,filesize($filename)); +fclose($fp); +$part2["type"]=TYPEAPPLICATION; +$part2["encoding"]=ENCBINARY; +$part2["subtype"]="octet-stream"; +$part2["description"]=basename($filename); +$part2["contents.data"]=$contents; +$part3["type"]=TYPETEXT; +$part3["subtype"]="plain"; +$part3["description"]="description3"; +$part3["contents.data"]="contents.data3\n\n\n\t"; +$body[1]=$part1; +$body[2]=$part2; +$body[3]=$part3; +echo nl2br(imap_mail_compose($envelope,$body)); +?> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mail-copy"> + <refnamediv> + <refname>imap_mail_copy</refname> + <refpurpose> + Copie les messages spécifiés dans une boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_mail_copy</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>msglist</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_mail_copy</function> copie les messages email + spécifiés par <parameter>msglist</parameter> dans la + boîte aux lettres nommée <parameter>mbox</parameter>. + <parameter>msglist</parameter> est un intervalle, et pas seulement + une liste numéros de message. + </para> + <para> + <function>imap_mail_copy</function> retourne <literal>TRUE</literal> + en cas de succès et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + <parameter>flags</parameter> est un masque, qui peut contenir une ou plusieurs + des valeurs suivantes : + <itemizedlist> + <listitem> + <simpara> + CP_UID - la séquence de nombre contient des UIDS + </simpara> + </listitem> + <listitem> + <simpara> + CP_MOVE - Efface les messages après copie. + </simpara> + </listitem> + </itemizedlist> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mail-move"> + <refnamediv> + <refname>imap_mail_move</refname> + <refpurpose> + Déplace les messages spécifiés + dans une boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_mail_move</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>msglist</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + <paramdef>int + <parameter><optional>flags</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_mail_move</function> déplace les messages + spécifiés par <parameter>msglist</parameter> dans la + boîte aux lettres <parameter>mbox</parameter>. + <parameter>msglist</parameter> est un intervalle, et pas seulement une + liste de messages. + </para> + <para> + <parameter>flags</parameter> est un champs de bit et peut contenir une + seule valeur : + <itemizedlist> + <listitem> + <simpara> + CP_UID - La séquence de nombrs contient UIDS + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + <function>imap_mail_move</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mailboxmsginfo"> + <refnamediv> + <refname>imap_mailboxmsginfo</refname> + <refpurpose> + Lit les informations à propos de la boîte aux lettres courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_mailboxmsginfo</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_mailboxmsginfo</function> retourne les informations à + propos de la boîte aux lettres courante. <function>imap_mailboxmsginfo</function> + retourne <literal>FALSE</literal> en cas d'échec. + </para> + <para> + <function>imap_mailboxmsginfo</function> vérifie le statut courant de + la boîte aux lettres sur le serveur, et retourne un objet avec les + propriétés suivantes : + </para> + <para> + <table> + <title>Propriétés de boîte aux lettres</title> + <tgroup cols="2"> + <tbody> + <row> + <entry>Date</entry> + <entry> + Date de dernière modification du contenu de la boîte aux lettres + </entry> + </row> + <row> + <entry>Driver</entry> + <entry>Pilote</entry> + </row> + <row> + <entry>Mailbox</entry> + <entry>Nom de la boîte aux lettres</entry> + </row> + <row> + <entry>Nmsgs</entry> + <entry>Nombre de messages</entry> + </row> + <row> + <entry>Recent</entry> + <entry>Nombre de messages récents</entry> + </row> + <row> + <entry>Unread</entry> + <entry>Nombre de messages non lus</entry> + </row> + <row> + <entry>Deleted</entry> + <entry>Nombre de messages effacés</entry> + </row> + <row> + <entry>Size</entry> + <entry>Taille de la boîte aux lettres</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + <example> + <title>Exemple avec <function>imap_mailboxmsginfo</function></title> + <programlisting role="php"> +<?php +$mbox = imap_open("{your.imap.host}INBOX","utilisateur", "mot_de_passe") + or die("conexion impossible: ".imap_last_error()); +$check = imap_mailboxmsginfo($mbox); +if($check) { + print "Date: " . $check->Date ."<br>\n" ; + print "Pilote: " . $check->Driver ."<br>\n" ; + print "Mailbox: " . $check->Mailbox ."<br>\n" ; + print "Messages: ". $check->Nmsgs ."<br>\n" ; + print "Récent: " . $check->Recent ."<br>\n" ; + print "Non lus: " . $check->Unread ."<br>\n" ; + print "Effacés: " . $check->Deleted ."<br>\n" ; + print "Taille: " . $check->Size ."<br>\n" ; +} else { + print "imap_check() a échoué: ".imap_last_error(). "<br>\n"; } imap_close($mbox); ?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>imap_open</function> et - <function>imap_set_quota</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-getsubscribed"> - <refnamediv> - <refname>imap_getsubscribed</refname> - <refpurpose>Liste toutes les boîtes aux lettres souscrites.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_getsubscribed</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>ref</parameter></paramdef> - <paramdef>string <parameter>pattern</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_getsubscribed</function> est identique à - <function>imap_getmailboxes</function>, mais ne retourne que les - boîtes aux lettres auxquelles l'utilisateur est inscrit. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mail-copy"> - <refnamediv> - <refname>imap_mail_copy</refname> - <refpurpose> - Copie les messages spécifiés dans une boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_mail_copy</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>msglist</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_mail_copy</function> copie les messages email - spécifiés par <parameter>msglist</parameter> dans la - boîte aux lettres nommée <parameter>mbox</parameter>. - <parameter>msglist</parameter> est un intervalle, et pas seulement - une liste numéros de message. - </para> - <para> - <function>imap_mail_copy</function> retourne &true; en cas de succès et - &false; en cas d'erreur. - </para> - <para> - <parameter>flags</parameter> est un masque, qui peut contenir une ou plusieurs - des valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - CP_UID - la séquence de nombre contient des UIDS - </simpara> - </listitem> - <listitem> - <simpara> - CP_MOVE - Efface les messages après copie. - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mail-move"> - <refnamediv> - <refname>imap_mail_move</refname> - <refpurpose> - Déplace les messages spécifiés - dans une boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_mail_move</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>msglist</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - <paramdef>int - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_mail_move</function> déplace les messages - spécifiés par <parameter>msglist</parameter> dans la - boîte aux lettres <parameter>mbox</parameter>. - <parameter>msglist</parameter> est un intervalle, et pas seulement une - liste de messages. - </para> - <para> - <parameter>flags</parameter> est un champs de bit et peut contenir une - seule valeur : - <itemizedlist> - <listitem> - <simpara> - CP_UID - La séquence de nombrs contient UIDS - </simpara> - </listitem> - </itemizedlist> - </para> <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-num-msg"> - <refnamediv> - <refname>imap_num_msg</refname> - <refpurpose> - Retourne le nombre de message dans la boîte aux lettres courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_num_msg</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_num_msg</function> retourne le nombre de message dans la - boîte aux lettres courante. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-num-recent"> - <refnamediv> - <refname>imap_num_recent</refname> - <refpurpose> - Retourne le nombre de messages récents dans la boîte - aux lettres courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_num_recent</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_num_recent</function> retourne le nombre de message - récents dans la boîte aux lettres courante. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-open"> - <refnamediv> - <refname>imap_open</refname> - <refpurpose>Ouvre un flot IMAP vers une boîte aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_open</function></funcdef> - <paramdef>string <parameter>mailbox</parameter></paramdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - <paramdef>int - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_open</function> retourne un flot <acronym>IMAP</acronym> - en cas de succès, et &false; en cas d'erreur. - <function>imap_open</function> peut aussi être utilisée pour - ouvrir des flots sur des serveurs <acronym>POP3</acronym> et <acronym>NNTP</acronym>. - </para> - <para> - 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 reservé 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 - (commencant 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 <function>imap_utf7_encode</function>. - </para> - <para> - Les options sont un masque de bit, qui peut prendre une ou plusieurs des - valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - OP_READONLY - Ouvre une boîte aux lettres en lecture seule - </simpara> - </listitem> - <listitem> - <simpara> - OP_ANONYMOUS - Ne pas utiliser, ou modifier le fichier .newsrc pour les news. - </simpara> - </listitem> - <listitem> - <simpara> - OP_HALFOPEN - Pour les noms <acronym>IMAP</acronym> et <acronym>NNTP</acronym>, - ouvre une connexion mais n'ouvre pas une boîte aux lettres. - </simpara> - </listitem> - <listitem> - <simpara> - CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la - liste, lors de la terminaison du flot. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - Pour se connecter à un serveur <acronym>IMAP</acronym>, on peut utiliser la - commande suivante : - <informalexample> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mime-header-decode"> + <refnamediv> + <refname>imap_mime_header_decode</refname> + <refpurpose>Décode les éléments MIME d'une en-tête</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_mime_header_decode</function></funcdef> + <paramdef>string <parameter>text</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_mime_header_decode</function> décode un message + MIME qui contient des données non ASCII + (Voir <ulink url="&url.rfc;rfc2047.html">RFC2047</ulink>) + Les éléments décodés sont retournés dans un tableau + d'objets. Chacun de ces objets a deux propriétés : + "charset" & "text". Si l'élément n'a pas été encodé, + ou, en d'autres termes, sil il est en clair (plain US_ASCII), + la propriété "charset" est mise à "default". + </para> + <para> + <example> + <title>Exemple <function>imap_mime_header_decode</function></title> + <programlisting role="php"> +<?php +$text="=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>"; +$elements=imap_mime_header_decode($text); +for($i=0;$i<count($elements);$i++) { + echo "Charset: {$elements[$i]->charset}\n"; + echo "Texte: {$elements[$i]->text}\n\n"; +} +?> + </programlisting> + </example> + </para> + <para> + Dans l'exemple ci-dessus, on trouve deux éléments : le premier + a été encodé en ISO-8859-1, et le second est en clair. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-msgno"> + <refnamediv> + <refname>imap_msgno</refname> + <refpurpose> + Retourne le numéro de séquence de message pour un UID donné. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_msgno</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>uid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_msgno</function> retourne le numéro de séquence + de message pour l'UID <parameter>uid</parameter>. + C'est la fonction contraire de <function>imap_uid</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-num-msg"> + <refnamediv> + <refname>imap_num_msg</refname> + <refpurpose> + Retourne le nombre de message dans la boîte aux lettres courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_num_msg</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_num_msg</function> retourne le nombre de message dans la + boîte aux lettres courante. + </para> + <para> + Voir aussi + <function>imap_num_recent</function> et + <function>imap_status</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-num-recent"> + <refnamediv> + <refname>imap_num_recent</refname> + <refpurpose> + Retourne le nombre de messages récents dans la boîte + aux lettres courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_num_recent</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_num_recent</function> retourne le nombre de message + récents dans la boîte aux lettres courante. + </para> + <para> + Voir aussi + <function>imap_num_msg</function> et + <function>imap_status</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-open"> + <refnamediv> + <refname>imap_open</refname> + <refpurpose>Ouvre un flot IMAP vers une boîte aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_open</function></funcdef> + <paramdef>string <parameter>mailbox</parameter></paramdef> + <paramdef>string <parameter>username</parameter></paramdef> + <paramdef>string <parameter>password</parameter></paramdef> + <paramdef>int + <parameter><optional>flags</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_open</function> retourne un flot <acronym>IMAP</acronym> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + <function>imap_open</function> peut aussi être utilisée pour + ouvrir des flots sur des serveurs <acronym>POP3</acronym> et <acronym>NNTP</acronym>. + </para> + <para> + 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 <function>imap_utf7_encode</function>. + </para> + <para> + Les options sont un masque de bit, qui peut prendre une ou plusieurs des + valeurs suivantes : + <itemizedlist> + <listitem> + <simpara> + OP_READONLY - Ouvre une boîte aux lettres en lecture seule + </simpara> + </listitem> + <listitem> + <simpara> + OP_ANONYMOUS - Ne pas utiliser, ou modifier le fichier .newsrc pour les news. + </simpara> + </listitem> + <listitem> + <simpara> + OP_HALFOPEN - Pour les noms <acronym>IMAP</acronym> et <acronym>NNTP</acronym>, + ouvre une connexion mais n'ouvre pas une boîte aux lettres. + </simpara> + </listitem> + <listitem> + <simpara> + CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la + liste, lors de la terminaison du flot. + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + Pour se connecter à un serveur <acronym>IMAP</acronym>, on peut utiliser la + commande suivante : + <informalexample> + <programlisting role="php"> <?php $mbox = imap_open("{localhost:143}INBOX","user_id","password"); ?> - </programlisting> - </informalexample> - Pour se connecter à un serveur <acronym>POP3</acronym> qui fonctionne sur - le port 110 de la machine locale on peut utiliser la commande suivante : + </programlisting> + </informalexample> + Pour se connecter à un serveur <acronym>POP3</acronym> qui fonctionne sur + le port 110 de la machine locale on peut utiliser la commande suivante : + <informalexample> + <programlisting role="php"> +<?php +$mbox = imap_open("{localhost:110/pop3}INBOX","user_id","password"); +?> + </programlisting> + </informalexample> + Pour se connecter à un serveur IMAP SSL ou POP3 SSL, ajoutez + <literal>/ssl</literal> après le protocole : <informalexample> <programlisting role="php"> <?php -$mbox = imap_open("{localhost/pop3:110}INBOX","user_id","password"); +$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password"); ?> </programlisting> </informalexample> - Pour se connecter à un serveur<acronym>NNTP</acronym> qui fonctionne sur - le port 119 de la machine locale on peut utiliser la commande: + Pour se connecter à un serveur SSL IMAP ou POP3 avec un certificat + ajoutez <literal>/ssl/novalidate-cert</literal> après le protocole : <informalexample> <programlisting role="php"> <?php -$nntp = imap_open("{localhost/nntp:119}comp.test","",""); +$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password"); ?> </programlisting> </informalexample> - Pour se connecter à un serveur distant, remplacez "localhost" par - le nom ou l'adresse IP de la machine. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-ping"> - <refnamediv> - <refname>imap_ping</refname> - <refpurpose>Vérifie que le flot IMAP est toujours actif.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_ping</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_ping</function> retourne &true; si - le flot <parameter>imap_stream</parameter> existe toujours, - et &false; sinon. - </para> - <para> - <function>imap_ping</function> vérifie que le flot <acronym>IMAP</acronym> - 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'éxpiration. - </para> - <para> - <example> - <title>Exemple avec <function>imap_ping</function></title> - <programlisting role="php"> + Pour se connecter à un serveur <acronym>NNTP</acronym> qui fonctionne sur + le port 119 de la machine locale on peut utiliser la commande: + <informalexample> + <programlisting role="php"> +<?php +$nntp = imap_open("{localhost:119/nntp}comp.test","",""); +?> + </programlisting> + </informalexample> + Pour se connecter à un serveur distant, remplacez "localhost" par + le nom ou l'adresse IP de la machine. + </para> + <para> + <example> + <title>Exemple avec <function>imap_open</function></title> + <programlisting role="php"> <?php -$mbox = imap_open ("{your.imap.host:143}", "username", "password"); +$mbox = imap_open ("{votre.hote.imap:143}", "nom_utilisateur", "mot de passe"); echo "<p><h1>Mailboxes</h1>\n"; -$folders = imap_listmailbox ($mbox, "{your.imap.host:143}", "*"); +$folders = imap_listmailbox ($mbox, "{votre.hote.imap:143}", "*"); if ($folders == <literal>FALSE</literal>) { - echo "Call failed<br>\n"; + echo "Appel échoué<br>\n"; } else { - while (list ($key, $val) = each ($folders)) { - echo $val."<br>\n"; - } + while (list ($key, $val) = each ($folders)) { + echo $val."<br>\n"; + } } -echo "<p><h1>Headers in INBOX</h1>\n"; +echo "<p><h1>en-têtes dans INBOX</h1>\n"; $headers = imap_headers ($mbox); if ($headers == <literal>FALSE</literal>) { - echo "Call failed<br>\n"; + echo "Appel échoué<br>\n"; } else { - while (list ($key,$val) = each ($headers)) { - echo $val."<br>\n"; - } + while (list ($key,$val) = each ($headers)) { + echo $val."<br>\n"; + } } imap_close($mbox); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-renamemailbox"> - <refnamediv> - <refname>imap_renamemailbox</refname> - <refpurpose>Renomme une boîte aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_renamemailbox</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>old_mbox</parameter></paramdef> - <paramdef>string <parameter>new_mbox</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_renamemailbox</function> renomme la boîte aux lettres - <parameter>old_mbox</parameter> en <parameter>new_mbox</parameter>. - </para> - <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - <para> - Voir aussi <function>imap_createmailbox</function>, - <function>imap_deletemailbox</function> et - <function>imap_open</function> pour le format de <parameter>mbox</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-reopen"> - <refnamediv> - <refname>imap_reopen</refname> - <refpurpose> - Ouvre un flot IMAP vers une nouvelle boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_reopen</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mailbox</parameter></paramdef> - <paramdef>string + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-ping"> + <refnamediv> + <refname>imap_ping</refname> + <refpurpose>Vérifie que le flot IMAP est toujours actif.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_ping</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_ping</function> retourne <literal>TRUE</literal> si + le flot <parameter>imap_stream</parameter> existe toujours, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>imap_ping</function> vérifie que le flot <acronym>IMAP</acronym> + 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. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-qprint"> + <refnamediv> + <refname>imap_qprint</refname> + <refpurpose> + Convertit une chaîne à guillemets en une + chaîne à 8 bits. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_qprint</function></funcdef> + <paramdef>string <parameter>string</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_qprint</function> convertit la chaîne à + guillemets <parameter>string</parameter> en une chaîne à + 8 bits. + </para> + <para> + <function>imap_qprint</function> retourne une chaîne 8 bits (binaire). + </para> + <para> + Voir aussi + <function>imap_8bit</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-renamemailbox"> + <refnamediv> + <refname>imap_renamemailbox</refname> + <refpurpose>Renomme une boîte aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_renamemailbox</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>old_mbox</parameter></paramdef> + <paramdef>string <parameter>new_mbox</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_renamemailbox</function> renomme la boîte aux lettres + <parameter>old_mbox</parameter> en <parameter>new_mbox</parameter>. + </para> + <para> + <function>imap_renamemailbox</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + Voir aussi <function>imap_createmailbox</function>, + <function>imap_deletemailbox</function> et + <function>imap_open</function> pour le format de <parameter>mbox</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-reopen"> + <refnamediv> + <refname>imap_reopen</refname> + <refpurpose> + Ouvre un flot IMAP vers une nouvelle boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_reopen</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mailbox</parameter></paramdef> + <paramdef>string <parameter><optional>flags</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_reopen</function> réouvre la connexion spécifiée - au serveur <acronym>IMAP</acronym> ou <acronym>NNTP</acronym>, - avec une nouvelle boîtes aux lettres. - </para> - <para> - Les options sont des masques de bit, qui peuvent contenir les valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - OP_READONLY - Ouvre une boîte aux lettres en lecture seule - </simpara> - </listitem> - <listitem> - <simpara> - OP_ANONYMOUS - Ne pas utiliser, ou modifier le fichier .newsrc pour les news - </simpara> - </listitem> - <listitem> - <simpara> - OP_HALFOPEN - Pour les noms <acronym>IMAP</acronym> et <acronym>NNTP</acronym>, - ouvre une connexion mais n'ouvre pas une boîte aux lettres. - </simpara> - </listitem> - <listitem> - <simpara> - CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la liste, - lors de la terminaison du flot. (voir <function>imap_delete</function> et - <function>imap_expunge</function>). - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-subscribe"> - <refnamediv> - <refname>imap_subscribe</refname> - <refpurpose>Souscrit à une boîte aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_subscribe</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_subscribe</function> souscrit à la boîte aux - lettres <parameter>mbox</parameter>. - </para> - <para> - <function>imap_subscribe</function> retourne &true; en cas de - succès, et &false; en cas d'échec. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-undelete"> - <refnamediv> - <refname>imap_undelete</refname> - <refpurpose> - Enlève la marque d'effacement d'un message. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_undelete</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_undelete</function> enlève la marque d'effacement - du message <parameter>msg_number</parameter>, placée avec - <function>imap_delete</function>. - </para> - <para> - <function>imap_subscribe</function> retourne &true; en cas - de succès, et &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-unsubscribe"> - <refnamediv> - <refname>imap_unsubscribe</refname> - <refpurpose> - Termine la souscription à une boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_unsubscribe</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_unsubscribe</function> termine la souscription à - la boîte aux lettres <parameter>mbox</parameter>. - </para> - <para> - <function>imap_unsubscribe</function> retourne &true; - en cas de succès, et &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-qprint"> - <refnamediv> - <refname>imap_qprint</refname> - <refpurpose> - Convertit une chaîne à guillemets en une - chaîne à 8 bits. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_qprint</function></funcdef> - <paramdef>string <parameter>string</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_qprint</function> convertit la chaîne à - guillemets <parameter>string</parameter> en une chaîne à - 8 bits. - </para> - <para> - Retourne une chaîne 8 bits (binaire). - </para> - <para> - Voir aussi <function>imap_8bit</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-8bit"> - <refnamediv> - <refname>imap_8bit</refname> - <refpurpose> - Convertit une chaîne à 8 bits en une chaîne à guillemets. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_8bit</function></funcdef> - <paramdef>string <parameter>string</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_8bit</function> convertit la chaîne à 8 bits - en une chaîne à guillemets. - </para> - <para> - Retourne une chaîne à guillemets. - </para> - <para> - Voir aussi <function>imap_qprint</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-binary"> - <refnamediv> - <refname>imap_binary</refname> - <refpurpose> - Convertit une chaîne à 8 bits en une chaîne à base64. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_binary</function></funcdef> - <paramdef>string <parameter>string</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_binary</function> convertit la chaîne à - 8 bits <parameter>string</parameter> en une chaîne à base64. - </para> - <para> - Retourne la chaîne codée. - </para> - <para> - Voir aussi <function>imap_base64</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-scanmailbox"> - <refnamediv> - <refname>imap_scanmailbox</refname> - <refpurpose> - Lis la liste des boîtes aux lettres, et y recherche une chaîne. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_scanmailbox</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>string</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_scanmailbox</function> retourne un tableau contenant - les noms des boîtes aux lettres qui contiennent la chaîne - <parameter>string</parameter>. <function>imap_scanmailbox</function> - est simialaire à <function>imap_listmailbox</function>, - mais va aussi rechercher la chaîne <parameter>string</parameter> dans - dans les données de la boîte aux lettres. Reportez vous à - <function>imap_getmailboxes</function> pour une description des - paramètres <parameter>ref</parameter> et <parameter>pattern</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mailboxmsginfo"> - <refnamediv> - <refname>imap_mailboxmsginfo</refname> - <refpurpose> - Lit les informations à propos de la boîte aux lettres courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_mailboxmsginfo</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_mailboxmsginfo</function> retourne les informations à - propos de la boîte aux lettres courante. Retourne &false; en cas - d'échec. - </para> - <para> - <function>imap_mailboxmsginfo</function> vérifie le statut courant de - la boîte aux lettres sur le serveur, et retourne un objet avec les - propriétés suivantes : - </para> - <para> - <table> - <title>Propriétés de boîte aux lettres</title> - <tgroup cols="2"> - <tbody> - <row> - <entry>Date</entry> - <entry> - Date de dernière modification du contenu de la boîte aux lettres - </entry> - </row> - <row> - <entry>Driver</entry> - <entry>Pilote</entry> - </row> - <row> - <entry>Mailbox</entry> - <entry>Nom de la boîte aux lettres</entry> - </row> - <row> - <entry>Nmsgs</entry> - <entry>Nombre de messages</entry> - </row> - <row> - <entry>Recent</entry> - <entry>Nombre de messages récents</entry> - </row> - <row> - <entry>Unread</entry> - <entry>Nombre de messages non lus</entry> - </row> - <row> - <entry>Deleted</entry> - <entry>Nombre de messages effacés</entry> - </row> - <row> - <entry>Size</entry> - <entry>Taille de la boîte aux lettres</entry> - </row> - </tbody> - </tgroup> - </table> - </para> - <para> - <example> - <title>Exemple avec <function>imap_mailboxmsginfo</function></title> - <programlisting role="php"> -<?php -$mbox = imap_open("{your.imap.host}INBOX","utilisateur", "mot_de_passe") - || die("conexion impossible: ".imap_last_error()); -$check = imap_mailboxmsginfo($mbox); -if($check) { - print "Date: " . $check->Date ."<br>\n" ; - print "Pilote: " . $check->Driver ."<br>\n" ; - print "Mailbox: " . $check->Mailbox ."<br>\n" ; - print "Messages: ". $check->Nmsgs ."<br>\n" ; - print "Récent: " . $check->Recent ."<br>\n" ; - print "Non lus: " . $check->Unread ."<br>\n" ; - print "Effacés: " . $check->Deleted ."<br>\n" ; - print "Taille: " . $check->Size ."<br>\n" ; -} else { - print "imap_check() a échoué: ".imap_last_error(). "<br>\n"; -} -imap_close($mbox); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-rfc822-write-address"> - <refnamediv> - <refname>imap_rfc822_write_address</refname> - <refpurpose> - Retourne une adresse email proprement formatée - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string - <function>imap_rfc822_write_address</function> - </funcdef> - <paramdef>string <parameter>mailbox</parameter></paramdef> - <paramdef>string <parameter>host</parameter></paramdef> - <paramdef>string <parameter>personal</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>mailbox</parameter> retourne une adresse email proprement - formatée, à partir du nom de la boîte aux - lettres de l'hôte <parameter>host</parameter>, et - des informations personnelles <parameter>personal</parameter>. - </para> - <para> - <example> - <title>Exemple avec <function>imap_rfc822_write_address</function></title> - <programlisting role="php"> -<?php -print imap_rfc822_write_address("hartmut","cvs.php.net","Hartmut Holzgraefe")."\n"; -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-rfc822-parse-adrlist"> - <refnamediv> - <refname>imap_rfc822_parse_adrlist</refname> - <refpurpose>Analyse une chaîne d'adresse.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string + </funcprototype> + </funcsynopsis> + <para> + <function>imap_reopen</function> réouvre la connexion spécifiée + au serveur <acronym>IMAP</acronym> ou <acronym>NNTP</acronym>, + avec une nouvelle boîtes aux lettres. + </para> + <para> + Les options sont des masques de bit, qui peuvent contenir les valeurs suivantes : + <itemizedlist> + <listitem> + <simpara> + OP_READONLY - Ouvre une boîte aux lettres en lecture seule + </simpara> + </listitem> + <listitem> + <simpara> + OP_ANONYMOUS - Ne pas utiliser, ou modifier le fichier .newsrc pour les news + </simpara> + </listitem> + <listitem> + <simpara> + OP_HALFOPEN - Pour les noms <acronym>IMAP</acronym> et <acronym>NNTP</acronym>, + ouvre une connexion mais n'ouvre pas une boîte aux lettres. + </simpara> + </listitem> + <listitem> + <simpara> + CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la liste, + lors de la terminaison du flot. (voir <function>imap_delete</function> et + <function>imap_expunge</function>). + </simpara> + </listitem> + </itemizedlist> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-rfc822-parse-adrlist"> + <refnamediv> + <refname>imap_rfc822_parse_adrlist</refname> + <refpurpose>Analyse une chaîne d'adresse.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_rfc822_parse_adrlist</function> </funcdef> - <paramdef>string <parameter>address</parameter></paramdef> - <paramdef>string <parameter>default_host</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>address</parameter> analyse la chaîne - <parameter>address</parameter> et essaie, pour chaque adresse, - de retourner un tableau d'objets. Les 4 objets sont : - </para> - <para> - <itemizedlist> - <listitem> - <simpara> - mailbox - Le nom de la boîte aux lettres - </simpara> - </listitem> - <listitem> - <simpara> - host - le nom de l'hôte - </simpara> - </listitem> - <listitem> - <simpara> - personal - Le nom personnel - </simpara> - </listitem> - <listitem> - <simpara> - adl - at domain source route (NDT : ???). - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - <example> - <title>Exemple avec <function>imap_rfc822_parse_adrlist</function></title> - <programlisting role="php"> + <paramdef>string <parameter>address</parameter></paramdef> + <paramdef>string <parameter>default_host</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <parameter>address</parameter> analyse la chaîne + <parameter>address</parameter> et essaie, pour chaque adresse, + de retourner un tableau d'objets. Les 4 objets sont : + </para> + <para> + <itemizedlist> + <listitem> + <simpara> + mailbox - Le nom de la boîte aux lettres + </simpara> + </listitem> + <listitem> + <simpara> + host - le nom de l'hôte + </simpara> + </listitem> + <listitem> + <simpara> + personal - Le nom personnel + </simpara> + </listitem> + <listitem> + <simpara> + adl - at domain source route (NDT : ???). + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + <example> + <title>Exemple avec <function>imap_rfc822_parse_adrlist</function></title> + <programlisting role="php"> <?php $address_string = "Hartmut Holzgraefe <hartmut@cvs.php.net>, postmaster@somedomain.net, root"; $address_array = imap_rfc822_parse_adrlist($address_string,"somedomain.net"); if(! is_array($address_array)) die("une erreur...\n"); reset($address_array); while(list($key,$val)=each($address_array)){ - print "boîte : ".$val->mailbox."<br>\n"; - print "hôte : ".$val->host."<br>\n"; - print "personnel: ".$val->personal."<br>\n"; - print "adl : ".$val->adl."<p>\n"; + print "boîte : ".$val->mailbox."<br>\n"; + print "hôte : ".$val->host."<br>\n"; + print "personnel: ".$val->personal."<br>\n"; + print "adl : ".$val->adl."<p>\n"; } ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-setflag-full"> - <refnamediv> - <refname>imap_setflag_full</refname> - <refpurpose>Positionne un flag sur un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_setflag_full</function></funcdef> - <paramdef>int <parameter>stream</parameter></paramdef> - <paramdef>string <parameter>sequence</parameter></paramdef> - <paramdef>string <parameter>flag</parameter></paramdef> - <paramdef>string <parameter>options</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_setflag_full</function> affecte le flag spécifié - aux messages de la sequence donné. - </para> - <para> - Les flags que vous pouvez modifier sont "\\Seen", "\\Answered", - "\\Flagged", "\\Deleted", "\\Draft" et "\\Recent" (comme défini dans - la RFC2060). - </para> - <para> - Les options sont un masque de bits, et peuvent contenir les valeurs suivantes : - <informalexample> - <literallayout> - ST_UID la séquence contient des UIDs au lieu de numéro - de séquence. - </literallayout> - </informalexample> - </para> - <para> - <example> - <title>Exemple avec <function>imap_setflag_full</function></title> - <programlisting role="php"> -<?php -$mbox = imap_open("{your.imap.host:143}","utilisateur","mot_de_passe") - || die("can't connect: ".imap_last_error()); -$status = imap_setflag_full($mbox,"2,5","\\Seen \\Flagged"); -print gettype($status)."\n"; -print $status."\n"; -imap_close($mbox); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-clearflag-full"> - <refnamediv> - <refname>imap_clearflag_full</refname> - <refpurpose>Supprime un flag sur un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string - <function>imap_clearflag_full</function> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-rfc822-parse-headers"> + <refnamediv> + <refname>imap_rfc822_parse_headers</refname> + <refpurpose>Analyse une en-tête mail</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_rfc822_parse_headers</function></funcdef> + <paramdef>string <parameter>headers</parameter></paramdef> + <paramdef>string + <parameter><optional>defaulthost</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_rfc822_parse_headers</function> analyse la chaîne + <parameter>headers</parameter>, et retourne un objet contenant + differents éléments, similaires à la fonction + <function>imap_header</function>, hormis les flags, et autres + éléments liés au serveur <acronym>IMAP</acronym>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-rfc822-write-address"> + <refnamediv> + <refname>imap_rfc822_write_address</refname> + <refpurpose> + Retourne une adresse email proprement formatée + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string + <function>imap_rfc822_write_address</function> </funcdef> - <paramdef>int <parameter>stream</parameter></paramdef> - <paramdef>string <parameter>sequence</parameter></paramdef> - <paramdef>string <parameter>flag</parameter></paramdef> - <paramdef>string <parameter>options</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>stream</parameter> efface le flag spécifié dans - les messages de la séquence <parameter>sequence</parameter>. - </para> - <para> - Les options sont un masque de bit, qui accepte les valeurs suivantes : - <informalexample> - <literallayout> - ST_UID : la séquence contient des UIDs au lieu de numéro - de séquence - </literallayout> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-sort"> - <refnamediv> - <refname>imap_sort</refname> - <refpurpose>Trie des messages.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_sort</function></funcdef> - <paramdef>int <parameter>stream</parameter></paramdef> - <paramdef>int <parameter>criteria</parameter></paramdef> - <paramdef>int <parameter>reverse</parameter></paramdef> - <paramdef>int <parameter>options</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_sort</function> retourne un tableau de nombre de message, - triés suivant les paramètres suivants : - </para> - <para> - <parameter>reverse</parameter> vaut 1 pour signifier : tri inverse. - </para> - <para> - Les critères peuvent être un (et un seul) parmis les suivants : - <informalexample> - <literallayout> - 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 - </literallayout> - </informalexample> - </para> - <para> - Les flags dont des masques de bits, d'un ou plusieurs des éléments - suivants : - <informalexample> - <literallayout> - 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. - </literallayout> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-fetchheader"> - <refnamediv> - <refname>imap_fetchheader</refname> - <refpurpose>Retourne l'entête d'un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_fetchheader</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msgno</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_fetchheader</function> retourne l'entête brut et - complet RFC 822 du message <parameter>msgno</parameter>, et le retourne - sous la forme d'une chaîne. - </para> - <para> - Les options sont : - <informalexample> - <literallayout> - FT_UID L'argument <parameter>msgno</parameter> 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 <acronym>IMAP</acronym>, si - le message complet est souhaité. (e.g. dans une opération - de sauvegarde dans un fichier). - </literallayout> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-uid"> - <refnamediv> - <refname>imap_uid</refname> - <refpurpose> - Retourne l' UID d'un message. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_uid</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msgno</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_uid</function> retourne l'UID pour le message - <parameter>msgno</parameter>. Un UID est un identifant unique - que ne change jamais, alors que le numéro du message dans - la lsite des messages peut changer à toute modification - de la boîte aux lettres. C'est la fonction contraire de - <function>imap_msgno</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-msgno"> - <refnamediv> - <refname>imap_msgno</refname> - <refpurpose> - Retourne le numéro de séquence de message pour un UID donné. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_msgno</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>uid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_msgno</function> retourne le numéro de séquence - de message pour l'UID <parameter>uid</parameter>. - C'est la fonction contraire de <function>imap_uid</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-search"> - <refnamediv> - <refname>imap_search</refname> - <refpurpose> - Retourne un tableau de message après recherche. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_search</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>criteria</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_search</function> effectue une recherche dans la boîte aux - lettres courantes, sur le flot <acronym>IMAP</acronym> courant. - <parameter>criteria</parameter> 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 : - <itemizedlist> - <listitem> - <simpara> - ALL - retourne tous les message qui vérifie le reste du critère. - </simpara> - </listitem> - <listitem> - <simpara> - ANSWERED - tous les messages avec le flag \\ANSWERED - </simpara> - </listitem> - <listitem> - <simpara> - BCC "string" - tous les messages avec la chaîne "string" dans le - champs Bcc: - </simpara> - </listitem> - <listitem> - <simpara> - BEFORE "date" - tous les messages avec Date: avant "date" - </simpara> - </listitem> - <listitem> - <simpara> - BODY "string" - tous les messages avec "string" dans le corps - </simpara> - </listitem> - <listitem> - <simpara> - CC "string" - tous les messages avec "string" dans le champs Cc: - </simpara> - </listitem> - <listitem> - <simpara> - DELETED - tous les messages effacés - </simpara> - </listitem> - <listitem> - <simpara> - FLAGGED - tous les messages avec le flag \\FLAGGED (parfois - interprété comme Important ou Urgent) - </simpara> - </listitem> - <listitem> - <simpara> - FROM "string" - tous les messages avec la chaîne "string" dan le - champs From: - </simpara> - </listitem> - <listitem> - <simpara> - KEYWORD "string" - tous les messags avec la chaîne "string" comme mot clé - </simpara> - </listitem> - <listitem> - <simpara> - NEW - tous les nouveaux messages - </simpara> - </listitem> - <listitem> - <simpara> - OLD - tous les anciens messages - </simpara> - </listitem> - <listitem> - <simpara> - ON "date" - tous les messages avec la date "date" comme champs Date: - </simpara> - </listitem> - <listitem> - <simpara> - RECENT - tous les messages avec le flag \\RECENT - </simpara> - </listitem> - <listitem> - <simpara> - SEEN - tous les messages lus (avec le flag\\SEEN flag) - </simpara> - </listitem> - <listitem> - <simpara> - SINCE "date" - tous les messages avec la date Date: après "date" - </simpara> - </listitem> - <listitem> - <simpara> - SUBJECT "string" - tous les messages avec la chaîne "string" - dans le champs Subject: - </simpara> - </listitem> - <listitem> - <simpara> - TEXT "string" - tous les messages avec le texte "string" - </simpara> - </listitem> - <listitem> - <simpara> - TO "string" - tous les messages avec la chaîne "string" dans le - champs To: - </simpara> - </listitem> - <listitem> - <simpara> - UNANSWERED - tous les messages non répondus - </simpara> - </listitem> - <listitem> - <simpara> - UNDELETED - tous les messages non effacés - </simpara> - </listitem> - <listitem> - <simpara> - UNFLAGGED - tous les messages non flaggés - </simpara> - </listitem> - <listitem> - <simpara> - UNKEYWORD "string" - tous les messages dans le mot clés "string" - </simpara> - </listitem> - <listitem> - <simpara> - UNSEEN - tous les messages non lus - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - 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. (voir aussi RFC2060, section 6.4.4). - </para> - <para> - 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. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-last-error"> - <refnamediv> - <refname>imap_last_error</refname> - <refpurpose> - Retourne la dernière erreur (si elle existe) qui est survenu lors - de la dernière requête. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_last_error</function></funcdef> - <paramdef>void </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_last_error</function> retourne le texte complet de la - dernière erreur <acronym>IMAP</acronym> (si elle existe) qui - est survenu lors de la dernière requête. La pile d'erreur - n'est pas touchée. Appeler <function>imap_last_error</function> - successivement dans nouvelles erreurs retournera la même erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-errors"> - <refnamediv> - <refname>imap_errors</refname> - <refpurpose> - Retourne toutes les erreurs (si elles existent). - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_errors</function></funcdef> - <paramdef>void </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_errors</function> retourne tous les messages d'erreurs - <acronym>IMAP</acronym> générés depuis le dernier - appel à <function>imap_errors</function>, ou depuis le - début de la page. Lorsque <function>imap_errors</function> est - appelés, la pile d'erreur est vidée. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-alerts"> - <refnamediv> - <refname>imap_alerts</refname> - <refpurpose> - Retourne toutes les alertes - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_alerts</function></funcdef> - <paramdef>void </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_alerts</function> retourne tous les messages d'alerte - <acronym>IMAP</acronym> générés depuis le dernier - appel à <function>imap_alerts</function> ou depuis le début - de la page. Lorsque <function>imap_alerts</function> est appelé, la - pile d'alertes est vidée. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-status"> - <refnamediv> - <refname>imap_status</refname> - <refpurpose> - Retourne les informations de statut sur une boîte aux lettres - autres que la boîte courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_status</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mailbox</parameter></paramdef> - <paramdef>int <parameter>options</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_status</function> retourne un objet contenant les informations - de statut. Les options valables sont : - <itemizedlist> - <listitem> - <simpara> - SA_MESSAGES - met la valeur de status->messages au nombre de messages dans la - boîtes aux lettres. - </simpara> - </listitem> - <listitem> - <simpara> - SA_RECENT - met la valeur destatus->recent au nombre de messages - récents dans la boîte aux lettres. - </simpara> - </listitem> - <listitem> - <simpara> - SA_UNSEEN - met la valeur de status->unseen au nombre de messages - non lus dans la boîte aux lettres. - </simpara> - </listitem> - <listitem> - <simpara> - SA_UIDNEXT - met la valeur de status->uidnext à la prochaîne - valeur d'uid qui sera utilisée. - </simpara> - </listitem> - <listitem> - <simpara> - 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. - </simpara> - </listitem> - <listitem> - <simpara> - SA_ALL - fixe les valeurs de de toutes les précédents. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - status->flags est aussi fixé : c'est un masque de bit qui - peut contenir tous les flags ci dessus. - </para> - <para> - <example> - <title>Exemple <function>imap_status</function></title> - <programlisting role="php"> + <paramdef>string <parameter>mailbox</parameter></paramdef> + <paramdef>string <parameter>host</parameter></paramdef> + <paramdef>string <parameter>personal</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <parameter>mailbox</parameter> retourne une adresse email proprement + formatée, à partir du nom de la boîte aux + lettres de l'hôte <parameter>host</parameter>, et + des informations personnelles <parameter>personal</parameter>. + </para> + <para> + <example> + <title>Exemple avec <function>imap_rfc822_write_address</function></title> + <programlisting role="php"> <?php -$mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) - || die("can't connect: ".imap_last_error()); -$status = imap_status($mbox,"{your.imap.host}INBOX",SA_ALL); -if($status) { - print("Messages: ". $status->messages )."<br>\n"; - print("Récents: ". $status->recent )."<br>\n"; - print("Non lus: ". $status->unseen )."<br>\n"; - print("UIDnext: ". $status->uidnext )."<br>\n"; - print("UIDvalidité:". $status->uidvalidity)."<br>\n"; -} else - print "imap_status a échoué : ".imap_lasterror()."\n"; -imap_close($mbox); +print imap_rfc822_write_address("hartmut","cvs.php.net","Hartmut Holzgraefe")."\n"; ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-utf7-decode"> - <refnamediv> - <refname>imap_utf7_decode</refname> - <refpurpose> - Décode une chaîne modifiée UTF-7. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_utf7_decode</function></funcdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_utf7_decode</function> décode la chaîne UTF-7 - <parameter>text</parameter> en données 8 bits. - </para> - <para> - <function>imap_utf7_decode</function> retourne les données - 8bits décodées, ou &false; si la chaîne <parameter>text</parameter> - n'est pas au format UTF-7. Cette fonction sert à décoder des noms - de boîtes aux lettres qui contiennent des caractères internationaux - hors de l'espace ASCII. Le standard UTF-7 est défini - dans la <ulink url="&url.rfc;rfc2060.html">RFC 2060</ulink>, section - 5.1.3 (l'original UTF-7 a été défini dans <ulink - url="&url.rfc;rfc1642.html">RFC1642</ulink>). - </para> - </refsect1> - </refentry> - <refentry id="function.imap-utf7-encode"> - <refnamediv> - <refname>imap_utf7_encode</refname> - <refpurpose> - Convertie des données 8bit en texte UTF-7. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_utf7_encode</function></funcdef> - <paramdef>string <parameter>data</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_utf7_encode</function> retourne les données - <parameter>data</parameter> 8bits encodées, ou &false; si une erreur est - survenue. Cette fonction sert à encoder des noms de boîtes aux lettres qui - contiennent des caractères internationaux - hors de l'espace ASCII. Le standard UTF-7 est défini - dans la <ulink url="&url.rfc;rfc2060.html">RFC 2060</ulink>, section - 5.1.3 (l'original UTF-7 a été défini dans <ulink - url="&url.rfc;rfc1642.html">RFC1642</ulink>). - </para> - <para> - Retourne un texte UTF-7. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-utf8"> - <refnamediv> - <refname>imap_utf8</refname> - <refpurpose> - Convertit du texte en UTF8 - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_utf8</function></funcdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_utf8</function> convertit le texte <parameter>text</parameter> - en UTF8 (comme défini dans <ulink url="&url.rfc;rfc2044.html">RFC2044</ulink>). - </para> - </refsect1> - </refentry> - <refentry id="function.imap-fetch-overview"> - <refnamediv> - <refname>imap_fetch_overview</refname> - <refpurpose> - Lit un sommaire des entêtes de messages - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_fetch_overview</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>sequence</parameter></paramdef> - <paramdef>int <parameter><optional>flags</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_fetch_overview</function> lit les entêtes des messages - mails de la séquence <parameter>sequence</parameter> et retourne - un sommaire de leur contenu. <parameter>sequence</parameter> va contenir - une séquence d'indice de message ou d'UIDs, si <parameter>flags</parameter> - cotient FT_UID. La valeur retournée est un tableau d'objets, un par - message d'entête décrit : - <itemizedlist> - <listitem> - <simpara> - subject - Le sujet du message - </simpara> - </listitem> - <listitem> - <simpara> - from - Expéditeur - </simpara> - </listitem> - <listitem> - <simpara> - date - Date d'expédition - </simpara> - </listitem> - <listitem> - <simpara> - message_id - Identification du message - </simpara> - </listitem> - <listitem> - <simpara> - references - est une référence sur l'id de ce message - </simpara> - </listitem> - <listitem> - <simpara> - size - taille en octets - </simpara> - </listitem> - <listitem> - <simpara> - uid - UID du message dans la boîte aux lettres - </simpara> - </listitem> - <listitem> - <simpara> - msgno - numéro de séquence du message dans la boîte - </simpara> - </listitem> - <listitem> - <simpara> - recent - Ce message est récent - </simpara> - </listitem> - <listitem> - <simpara> - flagged - Ce message est marqué - </simpara> - </listitem> - <listitem> - <simpara> - answered - Ce message a donné lieu à une réponse - </simpara> - </listitem> - <listitem> - <simpara> - deleted - Ce message est marqué pour l'effacement - </simpara> - </listitem> - <listitem> - <simpara> - seen - Ce message est déjà lu - </simpara> - </listitem> - <listitem> - <simpara> - draft - Ce message est un brouillon - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - <example> - <title>Exemple avec <function>imap_fetch_overview</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-scanmailbox"> + <refnamediv> + <refname>imap_scanmailbox</refname> + <refpurpose> + Lit la liste des boîtes aux lettres, et y recherche une chaîne. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_scanmailbox</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>string</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_scanmailbox</function> retourne un tableau contenant + les noms des boîtes aux lettres qui contiennent la chaîne + <parameter>string</parameter>. <function>imap_scanmailbox</function> + est simialaire à <function>imap_listmailbox</function>, + mais va aussi rechercher la chaîne <parameter>string</parameter> dans + dans les données de la boîte aux lettres. Reportez-vous à + <function>imap_getmailboxes</function> pour une description des + paramètres <parameter>ref</parameter> et <parameter>pattern</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-search"> + <refnamediv> + <refname>imap_search</refname> + <refpurpose> + Retourne un tableau de message après recherche. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_search</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>criteria</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_search</function> effectue une recherche dans la boîte aux + lettres courante, sur le flot <acronym>IMAP</acronym> courant. + <parameter>criteria</parameter> 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 : + <itemizedlist> + <listitem> + <simpara> + ALL - retourne tous les message qui vérifie le reste du critère. + </simpara> + </listitem> + <listitem> + <simpara> + ANSWERED - tous les messages avec le flag \\ANSWERED + </simpara> + </listitem> + <listitem> + <simpara> + BCC "string" - tous les messages avec la chaîne "string" dans le + champs Bcc: + </simpara> + </listitem> + <listitem> + <simpara> + BEFORE "date" - tous les messages avec Date: avant "date" + </simpara> + </listitem> + <listitem> + <simpara> + BODY "string" - tous les messages avec "string" dans le corps + </simpara> + </listitem> + <listitem> + <simpara> + CC "string" - tous les messages avec "string" dans le champs Cc: + </simpara> + </listitem> + <listitem> + <simpara> + DELETED - tous les messages effacés + </simpara> + </listitem> + <listitem> + <simpara> + FLAGGED - tous les messages avec le flag \\FLAGGED (parfois + interprété comme Important ou Urgent) + </simpara> + </listitem> + <listitem> + <simpara> + FROM "string" - tous les messages avec la chaîne "string" dan le + champs From: + </simpara> + </listitem> + <listitem> + <simpara> + KEYWORD "string" - tous les messags avec la chaîne "string" comme mot clé + </simpara> + </listitem> + <listitem> + <simpara> + NEW - tous les nouveaux messages + </simpara> + </listitem> + <listitem> + <simpara> + OLD - tous les anciens messages + </simpara> + </listitem> + <listitem> + <simpara> + ON "date" - tous les messages avec la date "date" comme champs Date: + </simpara> + </listitem> + <listitem> + <simpara> + RECENT - tous les messages avec le flag \\RECENT + </simpara> + </listitem> + <listitem> + <simpara> + SEEN - tous les messages lus (avec le flag\\SEEN flag) + </simpara> + </listitem> + <listitem> + <simpara> + SINCE "date" - tous les messages avec la date Date: après "date" + </simpara> + </listitem> + <listitem> + <simpara> + SUBJECT "string" - tous les messages avec la chaîne "string" + dans le champs Subject: + </simpara> + </listitem> + <listitem> + <simpara> + TEXT "string" - tous les messages avec le texte "string" + </simpara> + </listitem> + <listitem> + <simpara> + TO "string" - tous les messages avec la chaîne "string" dans le + champs To: + </simpara> + </listitem> + <listitem> + <simpara> + UNANSWERED - tous les messages non répondus + </simpara> + </listitem> + <listitem> + <simpara> + UNDELETED - tous les messages non effacés + </simpara> + </listitem> + <listitem> + <simpara> + UNFLAGGED - tous les messages non flaggés + </simpara> + </listitem> + <listitem> + <simpara> + UNKEYWORD "string" - tous les messages dans le mot clés "string" + </simpara> + </listitem> + <listitem> + <simpara> + UNSEEN - tous les messages non lus + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + 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. (voir aussi RFC2060, section 6.4.4). + </para> + <para> + 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. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-set-quota"> + <refnamediv> + <refname>imap_set_quota</refname> + <refpurpose>Modifie le quota d'une boîte aux lettres</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_set_quota</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>quota_root</parameter></paramdef> + <paramdef>int <parameter>quota_limit</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_set_quota</function> modifie le quota de la + boîte aux lettres <parameter>quota_root</parameter>, en la + fixant à <parameter>quota_limit</parameter>. <function>imap_set_quota</function> + requiert que <parameter>imap_stream</parameter> ait été + ouvert avec un compte d'administrateur, pour avoir les droits + nécessaires : elle ne fonctionnera avec aucun autre + utilisateur. + </para> + <para> + <function>imap_get_quota</function> ne fonctionne actuellement qu'avec + les librairies c-client2000. + </para> + <para> + <parameter>imap_stream</parameter> doit avoir été créé + avec la fonction <function>imap_open</function>. Ce flot est + nécessairement ouvert en tant qu'administrateur du serveur, pour que + les droits nécessaires lui soit alloué. + <parameter>quota_root</parameter> doit être de la forme : + "<literal>user.nom</literal>", où "nom" est le nom de la + boîte aux lettres que vous souhaitez analyser. + <parameter>quota_limit</parameter> est la nouvelle taille + maximum (en ko) de la boîte <parameter>quota_root</parameter>. + </para> + <para> + <function>imap_set_quota</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + <example> + <title>Exemple avec <function>imap_set_quota</function></title> + <programlisting role="php"> <?php -$mbox = imap_open("{your.imap.host:143}","utilisateur","mot_de_passe") - || die("connexion impossible : ".imap_last_error()); -$overview = imap_fetch_overview($mbox,"2,4:6",0); -if(is_array($overview)) { - reset($overview); - while( list($key,$val) = each($overview)) { - print $val->msgno - . " - " . $val->date - . " - " . $val->subject - . "\n"; - } +$mbox = imap_open ("{votre.hote.imap:143}", "mailadmin", "mot de passe"); +if(!imap_set_quota($mbox, "user.toto", 3000)) { + print "Erreur lors de la modification des quotas\n"; + return; } imap_close($mbox); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mime-header-decode"> - <refnamediv> - <refname>imap_mime_header_decode</refname> - <refpurpose>Décode les éléments MIME d'un entête</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_mime_header_decode</function></funcdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_mime_header_decode</function> décode un message - MIME qui contient des données non ASCII - (Voir <ulink url="&url.rfc;rfc2047.html">RFC2047</ulink>) - Les éléments décodés sont retournés dans un tableau - d'objets. Chacun de ces objets a deux propriétés : - "charset" & "text". Si l'élément n'a pas été encodé, - ou, en d'autres termes, sil il est en clair (plain US_ASCII), - la propriété "charset" est mise à "default". - </para> - <para> - <example> - <title>Exemple <function>imap_mime_header_decode</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + <para> + Voir aussi <function>imap_open</function> et + <function>imap_set_quota</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-setflag-full"> + <refnamediv> + <refname>imap_setflag_full</refname> + <refpurpose>Positionne un flag sur un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_setflag_full</function></funcdef> + <paramdef>int <parameter>stream</parameter></paramdef> + <paramdef>string <parameter>sequence</parameter></paramdef> + <paramdef>string <parameter>flag</parameter></paramdef> + <paramdef>string <parameter>options</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_setflag_full</function> affecte le flag spécifié + aux messages de la sequence donné. + </para> + <para> + Les flags que vous pouvez modifier sont "\\Seen", "\\Answered", + "\\Flagged", "\\Deleted", "\\Draft" et "\\Recent" (comme défini dans + la RFC2060). + </para> + <para> + Les options sont un masque de bits, et peuvent contenir les valeurs suivantes : + <informalexample> + <literallayout> + ST_UID la séquence contient des UIDs au lieu de numéro + de séquence. + </literallayout> + </informalexample> + </para> + <para> + <example> + <title>Exemple avec <function>imap_setflag_full</function></title> + <programlisting role="php"> <?php -$text="=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>"; -$elements=imap_mime_header_decode($text); -for($i=0;$i<count($elements);$i++) { - echo "Charset: {$elements[$i]->charset}\n"; - echo "Texte: {$elements[$i]->text}\n\n"; -} +$mbox = imap_open("{votre.hote.imap:143}","utilisateur","mot_de_passe") + or die("can't connect: ".imap_last_error()); +$status = imap_setflag_full($mbox,"2,5","\\Seen \\Flagged"); +print gettype($status)."\n"; +print $status."\n"; +imap_close($mbox); ?> - </programlisting> - </example> - </para> - <para> - Dans l'exemple ci dessus, on trouve deux éléments : le premier - a été encodé en ISO-8859-1, et le second est en clair. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mail-compose"> - <refnamediv> - <refname>imap_mail_compose</refname> - <refpurpose> - Crée un message MIME - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_mail_compose</function></funcdef> - <paramdef>array <parameter>envelope</parameter></paramdef> - <paramdef>array <parameter>body</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - </para> - <para> - <example> - <title>Exemple <function>imap_mail_compose</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-sort"> + <refnamediv> + <refname>imap_sort</refname> + <refpurpose>Trie des messages.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_sort</function></funcdef> + <paramdef>int <parameter>stream</parameter></paramdef> + <paramdef>int <parameter>criteria</parameter></paramdef> + <paramdef>int <parameter>reverse</parameter></paramdef> + <paramdef>int <parameter>options</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_sort</function> retourne un tableau de nombre de message, + triés suivant les paramètres suivants : + </para> + <para> + <parameter>reverse</parameter> vaut 1 pour signifier : tri inverse. + </para> + <para> + Les critères peuvent être un (et un seul) parmi les suivants : + <informalexample> + <literallayout> + 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 + </literallayout> + </informalexample> + </para> + <para> + Les flags dont des masques de bits, d'un ou plusieurs des éléments + suivants : + <informalexample> + <literallayout> + 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. + </literallayout> + </informalexample> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-status"> + <refnamediv> + <refname>imap_status</refname> + <refpurpose> + Retourne les informations de statut sur une boîte aux lettres + autres que la boîte courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_status</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mailbox</parameter></paramdef> + <paramdef>int <parameter>options</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_status</function> retourne un objet contenant les informations + de statut. Les options valables sont : + <itemizedlist> + <listitem> + <simpara> + SA_MESSAGES - met la valeur de status->messages au nombre de messages dans la + boîtes aux lettres. + </simpara> + </listitem> + <listitem> + <simpara> + SA_RECENT - met la valeur destatus->recent au nombre de messages + récents dans la boîte aux lettres. + </simpara> + </listitem> + <listitem> + <simpara> + SA_UNSEEN - met la valeur de status->unseen au nombre de messages + non lus dans la boîte aux lettres. + </simpara> + </listitem> + <listitem> + <simpara> + SA_UIDNEXT - met la valeur de status->uidnext à la prochaine + valeur d'uid qui sera utilisée. + </simpara> + </listitem> + <listitem> + <simpara> + 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. + </simpara> + </listitem> + <listitem> + <simpara> + SA_ALL - fixe les valeurs de de toutes les précédents. + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + status->flags est aussi fixé : c'est un masque de bit qui + peut contenir tous les flags ci-dessus. + </para> + <para> + <example> + <title>Exemple <function>imap_status</function></title> + <programlisting role="php"> <?php -$envelope["from"]="musone@afterfive.com"; -$envelope["to"]="musone@darkstar"; -$envelope["cc"]="musone@edgeglobal.com"; -$part1["type"]=TYPEMULTIPART; -$part1["subtype"]="mixed"; -$filename="/tmp/imap.c.gz"; -$fp=fopen($filename,"r"); -$contents=fread($fp,filesize($filename)); -fclose($fp); -$part2["type"]=TYPEAPPLICATION; -$part2["encoding"]=ENCBINARY; -$part2["subtype"]="octet-stream"; -$part2["description"]=basename($filename); -$part2["contents.data"]=$contents; -$part3["type"]=TYPETEXT; -$part3["subtype"]="plain"; -$part3["description"]="description3"; -$part3["contents.data"]="contents.data3\n\n\n\t"; -$body[1]=$part1; -$body[2]=$part2; -$body[3]=$part3; -echo nl2br(imap_mail_compose($envelope,$body)); + $mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) + or die("can't connect: ".imap_last_error()); + $status = imap_status($mbox,"{your.imap.host}INBOX",SA_ALL); + if($status) { + print("Messages: ". $status->messages )."<br>\n"; + print("Récents: ". $status->recent )."<br>\n"; + print("Non lus: ". $status->unseen )."<br>\n"; + print("UIDnext: ". $status->uidnext )."<br>\n"; + print("UIDvalidité:". $status->uidvalidity)."<br>\n"; + } else { + print "imap_status a échoué : ".imap_last_error()."\n"; + } + imap_close($mbox); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mail"> - <refnamediv> - <refname>imap_mail</refname> - <refpurpose> - Envoie un message mail - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_mail</function></funcdef> - <paramdef>string <parameter>to</parameter></paramdef> - <paramdef>string <parameter>subject</parameter></paramdef> - <paramdef>string <parameter>message</parameter></paramdef> - <paramdef>string - <parameter><optional>additional_headers</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>cc</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>bcc</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>rpath</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_mail</function> est uniquement disponible sous PHP 3. - </para> - </refsect1> - </refentry> - </reference> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-subscribe"> + <refnamediv> + <refname>imap_subscribe</refname> + <refpurpose>Souscrit à une boîte aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_subscribe</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_subscribe</function> souscrit à la boîte aux + lettres <parameter>mbox</parameter>. + </para> + <para> + <function>imap_subscribe</function> retourne <literal>TRUE</literal> en cas de + succès, et <literal>FALSE</literal> en cas d'échec. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-uid"> + <refnamediv> + <refname>imap_uid</refname> + <refpurpose> + Retourne l'UID d'un message. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_uid</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msgno</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_uid</function> retourne l'UID pour le message + <parameter>msgno</parameter>. Un UID est un identifant unique + que ne change jamais, alors que le numéro du message dans + la lsite des messages peut changer à toute modification + de la boîte aux lettres. C'est la fonction contraire de + <function>imap_msgno</function>. + </para> + <note> + <para> + Cette fonctionnalité n'est pas supportées par les boîtes aux lettres + POP3. + </para> + </note> + </refsect1> + </refentry> + <refentry id="function.imap-undelete"> + <refnamediv> + <refname>imap_undelete</refname> + <refpurpose> + Enlève la marque d'effacement d'un message. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_undelete</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_undelete</function> enlève la marque d'effacement + du message <parameter>msg_number</parameter>, placée avec + <function>imap_delete</function>. + </para> + <para> + <function>imap_subscribe</function> retourne <literal>TRUE</literal> en cas + de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-unsubscribe"> + <refnamediv> + <refname>imap_unsubscribe</refname> + <refpurpose> + Termine la souscription à une boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_unsubscribe</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_unsubscribe</function> termine la souscription à + la boîte aux lettres <parameter>mbox</parameter>. + </para> + <para> + <function>imap_unsubscribe</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-utf7-decode"> + <refnamediv> + <refname>imap_utf7_decode</refname> + <refpurpose> + Décode une chaîne modifiée UTF-7. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_utf7_decode</function></funcdef> + <paramdef>string <parameter>text</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_utf7_decode</function> décode la chaîne UTF-7 + <parameter>text</parameter> en données 8 bits. + </para> + <para> + <function>imap_utf7_decode</function> retourne les données + 8bits décodées, ou <literal>FALSE</literal> si la chaîne + <parameter>text</parameter> n'est pas au format UTF-7. Cette fonction sert + à décoder des noms de boîtes aux lettres qui contiennent + des caractères internationaux hors de l'espace ASCII. Le standard + UTF-7 est défini dans la + <ulink url="&url.rfc;rfc2060.html">RFC 2060</ulink>, section + 5.1.3 (l'original UTF-7 a été défini dans + <ulink url="&url.rfc;rfc1642.html">RFC1642</ulink>). + </para> + </refsect1> + </refentry> + <refentry id="function.imap-utf7-encode"> + <refnamediv> + <refname>imap_utf7_encode</refname> + <refpurpose> + Convertit des données 8bit en texte UTF-7. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_utf7_encode</function></funcdef> + <paramdef>string <parameter>data</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_utf7_encode</function> retourne les données + <parameter>data</parameter> 8bits encodées, ou <literal>FALSE</literal> + si une erreur est + survenue. Cette fonction sert à encoder des noms de boîtes aux lettres qui + contiennent des caractères internationaux + hors de l'espace ASCII. Le standard UTF-7 est défini + dans la <ulink url="&url.rfc;rfc2060.html">RFC 2060</ulink>, section + 5.1.3 (l'original UTF-7 a été défini dans <ulink + url="&url.rfc;rfc1642.html">RFC1642</ulink>). + </para> + <para> + <function>imap_utf7_encode</function> retourne un texte UTF-7. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-utf8"> + <refnamediv> + <refname>imap_utf8</refname> + <refpurpose> + Convertit du texte en UTF8 + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_utf8</function></funcdef> + <paramdef>string <parameter>text</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_utf8</function> convertit le texte <parameter>text</parameter> + en UTF8 (comme défini dans <ulink url="&url.rfc;rfc2044.html">RFC2044</ulink>). + </para> + </refsect1> + </refentry> +</reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml
Index: phpdoc/fr/functions/imap.xml diff -u phpdoc/fr/functions/imap.xml:1.14 phpdoc/fr/functions/imap.xml:1.15 --- phpdoc/fr/functions/imap.xml:1.14 Sat Jul 7 18:22:12 2001 +++ phpdoc/fr/functions/imap.xml Thu Jul 26 07:00:22 2001 @@ -1,2815 +1,2882 @@ - <reference id="ref.imap"> - <title>IMAP</title> - <titleabbrev>IMAP</titleabbrev> - <partintro> - <simpara> - Pour avoir accès à ces fonctions, vous devez compiler PHP - avec l'option <option role="configure">--with-imap</option>. Il faut avoir - installé la librairie C-client. Chargez sa dernière version - sur le serveur <ulink url="&url.imap;">&url.imap;</ulink> et compilez la. - Puis, copiez le fichier <filename>c-client/c-client.a</filename> dans - <filename>/usr/local/lib</filename> ou n'importe quel autre dossier - qui soit dans le chemin de link. Enfin, copiez les fichiers - <filename>c-client/rfc822.h</filename>, <filename>mail.h</filename> - et <filename>linkage.h</filename> dans <filename>/usr/local/include</filename> - ou n'importe quel autre dossier qui soit dans le chemin d'inclusion. - </simpara> - <simpara> - Ces fonctions ne sont pas limitées au protocole - <acronym>IMAP</acronym>, malgré leur nom. La librairie sur laquelle - elles sont developpées supporte aussi <acronym>NNTP</acronym>, - <acronym>POP3</acronym> et les méthodes d'accès aux - boîtes aux lettres locales. Reportez vous à la fonction - <function>imap_open</function> pour plus d'informations. - </simpara> - <para> - 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 (<filename>docs/internal.txt</filename>). ainsi que - les RFC suivantes : +<reference id="ref.imap"> + <title>IMAP</title> + <titleabbrev>IMAP</titleabbrev> + <partintro> + <simpara> + Pour avoir accès à ces fonctions, vous devez compiler PHP + avec l'option <link linkend="install.configure.with-imap"><option role="configure">--with-imap</option></link>. + Il faut avoir installé la librairie C-client. + Chargez sa dernière version sur le serveur + <ulink url="&url.imap;">&url.imap;</ulink> et compilez la. + Puis, copiez le fichier <filename>c-client/c-client.a</filename> dans + <filename>/usr/local/lib</filename> ou n'importe quel autre dossier + qui soit dans le chemin de link. Enfin, copiez les fichiers + <filename>c-client/rfc822.h</filename>, <filename>mail.h</filename> + et <filename>linkage.h</filename> dans + <filename>/usr/local/include</filename> ou n'importe quel autre + dossier qui soit dans le chemin d'inclusion. + </simpara> + <simpara> + Ces fonctions ne sont pas limitées au protocole + <acronym>IMAP</acronym>, malgré leur nom. La librairie sur laquelle + elles sont développées supporte aussi <acronym>NNTP</acronym>, + <acronym>POP3</acronym> et les méthodes d'accès aux + boîtes aux lettres locales. Reportez-vous à la fonction + <function>imap_open</function> pour plus d'informations. + </simpara> + <para> + 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 (<filename>docs/internal.txt</filename>) ainsi que + les RFC suivantes : + <itemizedlist> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc821.html">RFC821</ulink>: Simple Mail + Transfer Protocol (<acronym>SMTP</acronym>). + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc822.html">RFC822</ulink>: Standard for + ARPA internet text messages. + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc2060.html">RFC2060</ulink>: Internet + Message Access Protocol (<acronym>IMAP</acronym>) Version 4rev1. + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc1939.html">RFC1939</ulink>: Post + Office Protocol Version 3 (<acronym>POP3</acronym>). + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc977.html">RFC977</ulink>: Network News + Transfer Protocol (<acronym>NNTP</acronym>). + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc2076.html">RFC2076</ulink>: Common + Internet Message Headers. + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="&url.rfc;rfc2045.html">RFC2045</ulink> , <ulink + url="&url.rfc;rfc2046.html">RFC2046</ulink> , <ulink + url="&url.rfc;rfc2047.html">RFC2047</ulink> , <ulink + url="&url.rfc;rfc2048.html">RFC2048</ulink> & <ulink + url="&url.rfc;rfc2049.html">RFC2049</ulink>: Multipurpose + Internet Mail Extensions (MIME). + </simpara> + </listitem> + </itemizedlist> + Une étude approfondie est aussi disponibles dans les livres suivants + (en anglais): + <ulink url="&url.email.book;">Programming Internet Email</ulink> + par David Wood et <ulink url="&url.imap.book;">Managing + IMAP</ulink> par Dianna Mullet & Kevin Mullet. + </para> + </partintro> + <refentry id="function.imap-8bit"> + <refnamediv> + <refname>imap_8bit</refname> + <refpurpose> + Convertit une chaîne à 8 bits en une chaîne + à guillemets. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_8bit</function></funcdef> + <paramdef>string <parameter>string</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_8bit</function> convertit la chaîne à 8 bits + en une chaîne à guillemets. + </para> + <para> + <function>imap_8bit</function> retourne une chaîne à + guillemets. + </para> + <para> + Voir aussi + <function>imap_qprint</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-alerts"> + <refnamediv> + <refname>imap_alerts</refname> + <refpurpose> + Retourne toutes les alertes + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_alerts</function></funcdef> + <paramdef>void </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_alerts</function> retourne tous les messages d'alerte + <acronym>IMAP</acronym> générés depuis le dernier + appel à <function>imap_alerts</function> ou depuis le début + de la page. Lorsque <function>imap_alerts</function> est appelé, la + pile d'alertes est vidée. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-append"> + <refnamediv> + <refname>imap_append</refname> + <refpurpose> + Ajoute une chaîne dans une boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_append</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + <paramdef>string <parameter>message</parameter></paramdef> + <paramdef>string<parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_append</function> ajoute un message dans la boîte + aux lettres <parameter>mbox</parameter>. Si l'option + <parameter>flags</parameter> est utilisée, + <parameter>flags</parameter> sera aussi écrit dans la boîte + aux lettres. + </para> + <para> + <function>imap_append</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + 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. + </para> + <para> + <example> + <title>Exemple avec <function>imap_append</function></title> + <programlisting role="php"> +<?php +$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@my.host\r\n" + ."To: you@your.host\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); +?> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-base64"> + <refnamediv> + <refname>imap_base64</refname> + <refpurpose>Décode un texte encodé en BASE64.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_base64</function></funcdef> + <paramdef>string <parameter>text</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_base64</function> décode un texte encodé + en BASE64. Le texte décodé est retourné sous la + forme d'une chaîne. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-binary"> + <refnamediv> + <refname>imap_binary</refname> + <refpurpose> + Convertit une chaîne à 8 bits en une chaîne + à base64. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_binary</function></funcdef> + <paramdef>string <parameter>string</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_binary</function> convertit la chaîne à + 8 bits <parameter>string</parameter> en une chaîne à base64. + </para> + <para> + <function>imap_binary</function> retourne la chaîne codée. + </para> + <para> + Voir aussi + <function>imap_base64</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-body"> + <refnamediv> + <refname>imap_body</refname> + <refpurpose>Lit le corps d'un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_body</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_body</function> retourne le corps du message numéro + <parameter>msg_number</parameter> de la boîte aux lettres courante. + L'option <parameter>flags</parameter> est un masque qui peut contenir les + valeurs suivantes : <itemizedlist> <listitem> <simpara> - <ulink url="&url.rfc;rfc821.html">RFC821</ulink>: Simple Mail - Transfer Protocol (<acronym>SMTP</acronym>). + FT_UID - msgno est un UID + </simpara> + </listitem> + <listitem> + <simpara> + FT_PEEK - Ne pas lever le drapeaux \Seen (Message lu) s'il n'est + pas déjà levé. </simpara> </listitem> <listitem> <simpara> - <ulink url="&url.rfc;rfc822.html">RFC822</ulink>: Standard for - ARPA internet text messages. + FT_INTERNAL - La chaîne renvoyée est au format interne, + et ne va pas canoniser les CRLF. </simpara> </listitem> + </itemizedlist> + </para> + <para> + <function>imap_body</function> va retourner une copie brute du corps du + message. Pour extraire les sous parties MIME du message, utilisez + <function>imap_fetchstructure</function> pour analyser la structure, + et <function>imap_fetchbody</function> pour extraire une copie d'une + des sous-partie. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-check"> + <refnamediv> + <refname>imap_check</refname> + <refpurpose> + Vérifie le courrier de la boîte aux lettres courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_check</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_check</function> retourne les informations à + propos de la boîte aux lettres courante. + <function>imap_check</function> retourne <literal>FALSE</literal> + en cas d'échec. + </para> + <para> + <function>imap_check</function> vérifie le statut de la boîte + aux lettres courante, sur le serveur <parameter>imap_stream</parameter>, et + retourne les informations dans un objet avec les membres suivants : + </para> + <para> + <itemizedlist> <listitem> <simpara> - <ulink url="&url.rfc;rfc2060.html">RFC2060</ulink>: Internet - Message Access Protocol (<acronym>IMAP</acronym>) Version 4rev1. + Date - Date de dernière modification du contenu de la + boîte aux lettres </simpara> </listitem> <listitem> <simpara> - <ulink url="&url.rfc;rfc1939.html">RFC1939</ulink>: Post - Office Protocol Version 3 (<acronym>POP3</acronym>). + Driver - protocole utilisé pour accéder à la + boîte aux lettres: <acronym>POP3</acronym>, + <acronym>IMAP</acronym>, <acronym>NNTP</acronym>. </simpara> </listitem> <listitem> <simpara> - <ulink url="&url.rfc;rfc977.html">RFC977</ulink>: Network News - Transfer Protocol (<acronym>NNTP</acronym>). + Mailbox - nom de la boîte aux lettres </simpara> </listitem> <listitem> <simpara> - <ulink url="&url.rfc;rfc2076.html">RFC2076</ulink>: Common - Internet Message Headers. + Nmsgs - nombre de messages de la boîte aux lettres </simpara> </listitem> <listitem> <simpara> - <ulink url="&url.rfc;rfc2045.html">RFC2045</ulink> , <ulink - url="&url.rfc;rfc2046.html">RFC2046</ulink> , <ulink - url="&url.rfc;rfc2047.html">RFC2047</ulink> , <ulink - url="&url.rfc;rfc2048.html">RFC2048</ulink> & <ulink - url="&url.rfc;rfc2049.html">RFC2049</ulink>: Multipurpose - Internet Mail Extensions (MIME). + Recent - nombre de messages récents de la boîte aux lettres </simpara> </listitem> </itemizedlist> - Une étude approfondie est aussi disponibles dans les livres suivants - (en anglais): - <ulink url="&url.email.book;">Programming Internet Email</ulink> - par David Wood et <ulink url="&url.imap.book;">Managing - IMAP</ulink> par Dianna Mullet & Kevin Mullet. - </para> - </partintro> - <refentry id="function.imap-append"> - <refnamediv> - <refname>imap_append</refname> - <refpurpose> - Ajoute une chaîne dans une boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_append</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - <paramdef>string <parameter>message</parameter></paramdef> - <paramdef>string<parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_append</function> ajoute un message dans la boîte - aux lettres <parameter>mbox</parameter>. Si l'option - <parameter>flags</parameter> est utilisée, - <parameter>flags</parameter> sera aussi écrit dans la boîte - aux lettres. - </para> - <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - <para> - 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. - </para> - <para> - <example> - <title>Exemple avec <function>imap_append</function></title> - <programlisting role="php"> -<?php -$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@my.host\r\n" - ."To: you@your.host\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); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-base64"> - <refnamediv> - <refname>imap_base64</refname> - <refpurpose>Décode un texte encodé en BASE64.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_base64</function></funcdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_base64</function> décode un texte encodé - en BASE64. Le texte décodé est retourné sous la - forme d'une chaîne. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-body"> - <refnamediv> - <refname>imap_body</refname> - <refpurpose>Lit le corps d'un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_body</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_body</function> retourne le corps du message numéro - <parameter> msg_number</parameter> de la boîte aux lettres courante. - L'option <parameter>flags</parameter> est un masque qui peut contenir les - valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - FT_UID - msgno est un UID - </simpara> - </listitem> - <listitem> - <simpara> - FT_PEEK - Ne pas lever le drapeaux \Seen (Message lu) si il n'est - pas déjà levé. - </simpara> - </listitem> - <listitem> - <simpara> - FT_INTERNAL - La chaîne renvoyée est au format interne, - et ne va pas canoniser les CRLF. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - <function>imap_body</function> va retourner une copie brute du corps du - message. Pour extraire les sous parties MIME du message, utilisez - <function>imap_fetchstructure</function> pour analyser la structure, - et <function>imap_fetchbody</function> pour extraire une copie d'une - des sous-partie. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-check"> - <refnamediv> - <refname>imap_check</refname> - <refpurpose> - Vérifie le courrier de la boîte aux lettres courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_check</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_check</function> retourne les informations à - propos de la boîte aux lettres courante. Retourne &false; en cas - d'échec. - </para> - <para> - <function>imap_check</function> vérifie le statut de la boîte - aux lettres courante, sur le serveur <parameter>imap_stream</parameter>, et - retourne les informations dans un objet avec les membres suivants : - </para> - <para> - <itemizedlist> - <listitem> - <simpara> - Date - Date de dernière modification du contenu de la - boîte aux lettres - </simpara> - </listitem> - <listitem> - <simpara> - Driver - protocole utilisé pour accéder à la - boîte aux lettres: <acronym>POP3</acronym>, <acronym>IMAP</acronym>, - <acronym>NNTP</acronym>. - </simpara> - </listitem> - <listitem> - <simpara> - Mailbox - nom de la boîte aux lettres - </simpara> - </listitem> - <listitem> - <simpara> - Nmsgs - nombre de messages de la boîte aux lettres - </simpara> - </listitem> - <listitem> - <simpara> - Recent - nombre de messages récents de la boîte aux lettres - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-close"> - <refnamediv> - <refname>imap_close</refname> - <refpurpose>Termine un flot IMAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_close</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_close</function> termine un flot <acronym>IMAP</acronym>. - <function>imap_close</function> prend un argument optionnel - <parameter>flag</parameter>, CL_EXPUNGE, qui va retirer - automatiquement de la liste la boîte aux lettres. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-createmailbox"> - <refnamediv> - <refname>imap_createmailbox</refname> - <refpurpose>Crée une nouvelle boîte aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_createmailbox</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_createmailbox</function> crée une nouvelle boîte - aux lettres nommée <parameter>mbox</parameter>. Les noms - contenant des caractères spéciaux doivent être encodés. - </para> - <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - <para> - <example> - <title>Exemple avec <function>imap_createmailbox</function></title> - <programlisting role="php"> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-clearflag-full"> + <refnamediv> + <refname>imap_clearflag_full</refname> + <refpurpose>Supprime un flag sur un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string + <function>imap_clearflag_full</function> + </funcdef> + <paramdef>resource <parameter>stream</parameter></paramdef> + <paramdef>string <parameter>sequence</parameter></paramdef> + <paramdef>string <parameter>flag</parameter></paramdef> + <paramdef>string <parameter>options</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_clearflag_full</function> efface le flag + <parameter>flag</parameter> dans les messages de la séquence + <parameter>sequence</parameter>, du flot imap <parameter>stream</parameter>. + </para> + <para> + Les options sont un masque de bit, qui accepte les valeurs suivantes : + <informalexample> + <literallayout> + ST_UID : la séquence contient des UIDs au lieu de numéro + de séquence + </literallayout> + </informalexample> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-close"> + <refnamediv> + <refname>imap_close</refname> + <refpurpose>Termine un flot IMAP.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_close</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_close</function> termine un flot <acronym>IMAP</acronym>. + <function>imap_close</function> prend un argument optionnel + <parameter>flag</parameter>, CL_EXPUNGE, qui va retirer + automatiquement de la liste la boîte aux lettres. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-createmailbox"> + <refnamediv> + <refname>imap_createmailbox</refname> + <refpurpose>Crée une nouvelle boîte aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_createmailbox</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_createmailbox</function> crée une nouvelle boîte + aux lettres nommée <parameter>mbox</parameter>. Les noms + contenant des caractères spéciaux doivent être + encodés. + </para> + <para> + <function>imap_createmailbox</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + <example> + <title>Exemple avec <function>imap_createmailbox</function></title> + <programlisting role="php"> <?php $mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) - || die("connexion impossible: ".imap_last_error()); + or die("connexion impossible: ".imap_last_error()); $name1 = "nouvellephpbox"; $name2 = imap_utf7_encode("nouvellephpboxéx"); $newname = $name1; -echo "Le nouveau nom sera '$name1'<br>\n"; +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 +# dans votre dossier inbox, vérifier son état et finalement, la supprimer # pour remettre votre inbox dans son état initial. -if(@imap_createmailbox($mbox,imap_utf7_encode("{your.imap.host}INBOX.$newname"))) { - $status = @imap_status($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(@imap_deletemailbox($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"; - } +if(@imap_createmailbox($mbox,imap_utf7_encode("{your.imap.host}INBOX.$newname"))){ + $status = @imap_status($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(@imap_deletemailbox($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"; + print "Impossible de créer une nouvelle boîte aux lettres : ".implode("<br>\n",imap_errors())."<br>\n"; } imap_close($mbox); ?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>imap_renamemailbox</function>, - <function>imap_deletemailbox</function> et - <function>imap_open</function> pour connaître le format des noms de - <parameter>mbox</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-delete"> - <refnamediv> - <refname>imap_delete</refname> - <refpurpose> - Marque le fichier pour l'effacement, dans la boîte aux lettres courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_delete</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>int - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_delete</function> retourne &true;. - </para> - <para> - <function>imap_delete</function> marque le fichier - <parameter>msg_number</parameter> pour l'effacement, dans la - boîte aux lettres courante. Le paramètre optionnel - <parameter>flags</parameter> ne prend qu'une seule valeur, - <parameter>FT_UID</parameter>, qui indique à PHP qu'il faut traiter - <parameter>msg_number</parameter> comme un <parameter>UID</parameter>. - L'effacement réel n'interviendra que lors de l'appel de la fonction - <function>imap_expunge</function>. - </para> - <para> - <example> - <title>Exemple <function>imap_delete</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + <para> + Voir aussi <function>imap_renamemailbox</function>, + <function>imap_deletemailbox</function> et + <function>imap_open</function> pour connaître le format des noms de + <parameter>mbox</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-delete"> + <refnamediv> + <refname>imap_delete</refname> + <refpurpose> + Marque le fichier pour l'effacement, dans la boîte aux lettres courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_delete</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>int + <parameter><optional>flags</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_delete</function> retourne <literal>TRUE</literal>. + </para> + <para> + <function>imap_delete</function> marque le fichier + <parameter>msg_number</parameter> pour l'effacement, dans la + boîte aux lettres courante. Le paramètre optionnel + <parameter>flags</parameter> ne prend qu'une seule valeur, + <parameter>FT_UID</parameter>, qui indique à PHP qu'il faut traiter + <parameter>msg_number</parameter> comme un <parameter>UID</parameter>. + L'effacement réel n'interviendra que lors de l'appel de la fonction + <function>imap_expunge</function>. + </para> + <para> + <example> + <title>Exemple <function>imap_delete</function></title> + <programlisting role="php"> <?php $mbox = imap_open ("{your.imap.host}INBOX", "utilisateur", "mot_de_passe") - || die ("connexion impossible: " . imap_last_error()); + or die ("connexion impossible: " . imap_last_error()); $check = imap_mailboxmsginfo ($mbox); -print "Nombre de messages avant effacement : " . $check->Nmsgs . "<br>\n" ; +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" ; +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" ; +print "Nombre de messages après imap_expunge: " . $check->Nmsgs . "<br>\n" ; imap_close ($mbox); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-deletemailbox"> - <refnamediv> - <refname>imap_deletemailbox</refname> - <refpurpose>Efface une boîte aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_deletemailbox</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_deletemailbox</function> efface la boîte aux lettres - (voir <function>imap_open</function> pour connaître le format - des noms de <parameter>mbox</parameter>). - </para> - <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - <para> - Voir aussi <function>imap_createmailbox</function>, - <function>imap_renamemailbox</function>, et - <function>imap_open</function> pour le format du paramètre - <parameter>mbox</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-expunge"> - <refnamediv> - <refname>imap_expunge</refname> - <refpurpose> - Efface tous les messages marqués pour l'effacement. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_expunge</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_expunge</function> efface tous les messages marqués pour - l'effacement par <function>imap_delete</function>. - </para> - <para> - Retourne &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-fetchbody"> - <refnamediv> - <refname>imap_fetchbody</refname> - <refpurpose>Retourne une section extraite du corps d'un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_fetchbody</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>string <parameter>part_number</parameter></paramdef> - <paramdef>flags - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_fetchbody</function> 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 - <function>imap_fetchbody</function>. - </para> - <para> - L'option <function>imap_fetchbody </function> est un masque qui peut - contenir les valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - FT_UID - msgono est un UID - </simpara> - </listitem> - <listitem> - <simpara> - FT_PEEK - Ne pas lever le drapeau \Seen (Message lu) si il n'est pas - déjà levé. - </simpara> - </listitem> - <listitem> - <simpara> - FT_INTERNAL - La chaîne renvoyée est au format interne, et - ne va pas canoniser les CRLF. - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-fetchstructure"> - <refnamediv> - <refname>imap_fetchstructure</refname> - <refpurpose> - Lit la structure d'un message. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object - <function>imap_fetchstructure</function> - </funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>int + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-deletemailbox"> + <refnamediv> + <refname>imap_deletemailbox</refname> + <refpurpose>Efface une boîte aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_deletemailbox</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_deletemailbox</function> efface la boîte aux lettres + (voir <function>imap_open</function> pour connaître le format + des noms de <parameter>mbox</parameter>). + </para> + <para> + <function>imap_deletemailbox</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + Voir aussi + <function>imap_createmailbox</function>, + <function>imap_renamemailbox</function> et + <function>imap_open</function> pour le format du paramètre + <parameter>mbox</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-errors"> + <refnamediv> + <refname>imap_errors</refname> + <refpurpose> + Retourne toutes les erreurs + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_errors</function></funcdef> + <paramdef>void </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_errors</function> retourne tous les messages d'erreurs + <acronym>IMAP</acronym> générés depuis le dernier + appel à <function>imap_errors</function>, ou depuis le + début de la page. Lorsque <function>imap_errors</function> est + appelés, la pile d'erreur est vidée. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-expunge"> + <refnamediv> + <refname>imap_expunge</refname> + <refpurpose> + Efface tous les messages marqués pour l'effacement. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_expunge</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_expunge</function> efface tous les messages marqués pour + l'effacement par <function>imap_delete</function>. + </para> + <para> + <function>imap_expunge</function> retourne <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-fetch-overview"> + <refnamediv> + <refname>imap_fetch_overview</refname> + <refpurpose> + Lit un sommaire des en-têtes de messages + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_fetch_overview</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>sequence</parameter></paramdef> + <paramdef>int <parameter><optional>flags</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_fetch_overview</function> lit les en-têtes des courriers + électroniques de la séquence <parameter>sequence</parameter> et retourne + un sommaire de leur contenu. <parameter>sequence</parameter> va contenir + une séquence d'indice de message ou d'UIDs, si <parameter>flags</parameter> + cotient FT_UID. La valeur retournée est un tableau d'objets, un par + message d'en-tête décrit : + <itemizedlist> + <listitem> + <simpara> + subject - Le sujet du message + </simpara> + </listitem> + <listitem> + <simpara> + from - Expéditeur + </simpara> + </listitem> + <listitem> + <simpara> + date - Date d'expédition + </simpara> + </listitem> + <listitem> + <simpara> + message_id - Identification du message + </simpara> + </listitem> + <listitem> + <simpara> + references - est une référence sur l'id de ce message + </simpara> + </listitem> + <listitem> + <simpara> + size - taille en octets + </simpara> + </listitem> + <listitem> + <simpara> + uid - UID du message dans la boîte aux lettres + </simpara> + </listitem> + <listitem> + <simpara> + msgno - numéro de séquence du message dans la boîte + </simpara> + </listitem> + <listitem> + <simpara> + recent - Ce message est récent + </simpara> + </listitem> + <listitem> + <simpara> + flagged - Ce message est marqué + </simpara> + </listitem> + <listitem> + <simpara> + answered - Ce message a donné lieu à une réponse + </simpara> + </listitem> + <listitem> + <simpara> + deleted - Ce message est marqué pour l'effacement + </simpara> + </listitem> + <listitem> + <simpara> + seen - Ce message est déjà lu + </simpara> + </listitem> + <listitem> + <simpara> + draft - Ce message est un brouillon + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + <example> + <title>Exemple avec <function>imap_fetch_overview</function></title> + <programlisting role="php"> +<?php +$mbox = imap_open("{votre.hote.imap}","utilisateur","mot_de_passe") + or die("connexion impossible : ".imap_last_error()); +$overview = imap_fetch_overview($mbox,"2,4:6",0); +if(is_array($overview)) { + reset($overview); + while( list($key,$val) = each($overview)) { + print $val->msgno + . " - " . $val->date + . " - " . $val->subject + . "\n"; + } +} +imap_close($mbox); +?> + </programlisting> + </example> + </para> + <para> + Voir aussi + <function>imap_fetchstructure</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-fetchbody"> + <refnamediv> + <refname>imap_fetchbody</refname> + <refpurpose>Retourne une section extraite du corps d'un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_fetchbody</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>string <parameter>part_number</parameter></paramdef> + <paramdef>flags <parameter><optional>flags</optional></parameter> </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_fetchstructure</function> la structure du message - <parameter>msg_number</parameter>. <function>imap_fetchstructure</function> - dispose d'une option <optional>flags</optional>, qui une seule valeur, - <parameter>FT_UID</parameter>, pour indiquer que l'argument - <parameter>msg_number</parameter> est un <parameter>UID</parameter>. - 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 : - </para> - <para> - <table> - <title> - Objets retournés par <function>imap_fetchstructure</function> - </title> - <tgroup cols="2"> - <tbody> - <row> - <entry>type</entry> - <entry>Type primaire de corps</entry> - </row> - <row> - <entry>encoding</entry> - <entry>Codage de transfert du corps</entry> - </row> - <row> - <entry>ifsubtype</entry> - <entry>&true; si il y a une chaîne de sous type</entry> - </row> - <row> - <entry>subtype</entry> - <entry>sous type<acronym>MIME</acronym></entry> - </row> - <row> - <entry>ifdescription</entry> - <entry>&true; si il y au ne chaîne de description</entry> - </row> - <row> - <entry>description</entry> - <entry>Chaîne de description du contenu</entry> - </row> - <row> - <entry>ifid</entry> - <entry>&true; si il y a une chaîne d'identification</entry> - </row> - <row> - <entry>id</entry> - <entry>Chaîne d'identification</entry> - </row> - <row> - <entry>lines</entry> - <entry>Nombre de lignes</entry> - </row> - <row> - <entry>bytes</entry> - <entry>Nombre d'octets</entry> - </row> - <row> - <entry>ifdisposition</entry> - <entry>&true; si il y a une chaîne de disposition</entry> - </row> - <row> - <entry>disposition</entry> - <entry>Chaîne de disposition</entry> - </row> - <row> - <entry>ifdparameters</entry> - <entry>&true; s'il y a un tableau de paramètres dparameters</entry> - </row> - <row> - <entry>dparameters</entry> - <entry>tableau de disposition</entry> - </row> - <row> - <entry>ifparameters</entry> - <entry>&true; si le tableau de paramètres existe</entry> - </row> - <row> - <entry>parameters</entry> - <entry>Tableau de paramètres <acronym>MIME</acronym></entry> - </row> - <row> - <entry>parts</entry> - <entry>Tableau d'objet décrivant chaque partie du message</entry> - </row> - </tbody> - </tgroup> - </table> - </para> - <note> - <orderedlist> - <listitem> - <para> - dparameters est un tableau d'objet oú chaque objet à - un "attribut" et une "valeur". - </para> - </listitem> - <listitem> - <para> - parameter est un tableau d'objet oú chaque objet à un - "attribut" et une "valeur". - </para> - </listitem> - <listitem> - <para> - 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. - </para> - </listitem> - </orderedlist> - </note> - <para> - <table> - <title>Type primaire de corps</title> - <tgroup cols="2"> - <tbody> - <row><entry>0</entry><entry>text</entry></row> - <row><entry>1</entry><entry>multipart</entry></row> - <row><entry>2</entry><entry>message</entry></row> - <row><entry>3</entry><entry>application</entry></row> - <row><entry>4</entry><entry>audio</entry></row> - <row><entry>5</entry><entry>image</entry></row> - <row><entry>6</entry><entry>vidéo</entry></row> - <row><entry>7</entry><entry>autre</entry></row> - </tbody> - </tgroup> - </table> - </para> - <para> - <table> - <title>Codage de transfert</title> - <tgroup cols="2"> - <tbody> - <row><entry>0</entry><entry>7BIT</entry></row> - <row><entry>1</entry><entry>8BIT</entry></row> - <row><entry>2</entry><entry>BINARY</entry></row> - <row><entry>3</entry><entry>BASE64</entry></row> - <row><entry>4</entry><entry>QUOTED-PRINTABLE</entry></row> - <row><entry>5</entry><entry>OTHER</entry></row> - </tbody> - </tgroup> - </table> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-headerinfo"> - <refnamediv> - <refname>imap_headerinfo</refname> - <refpurpose>Lit l'entête du message</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_headerinfo</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>int - <parameter><optional>fromlength</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>subjectlength</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>defaulthost</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_headerinfo</function> retourne un objet contenant - divers éléments d'entête. - </para> - <para> - <informalexample> - <literallayout> - 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 <parameter>fromlength</parameter> -caractères) -fetchsubject (Ligne d'entête subject formatée pour tenir dans <parameter>subjectlength</parameter> caractères) - </literallayout> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-header"> - <refnamediv> - <refname>imap_header</refname> - <refpurpose>Lit l'entête d'un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_header</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - <paramdef>int - <parameter><optional>fromlength</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>subjectlength</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>defaulthost</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - Cette fonction est un alias de <function>imap_headerinfo</function> - et lui est identique en tout point. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-rfc822-parse-headers"> - <refnamediv> - <refname>imap_rfc822_parse_headers</refname> - <refpurpose>Analyse un entête mail</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_rfc822_parse_headers</function></funcdef> - <paramdef>string <parameter>headers</parameter></paramdef> - <paramdef>string - <parameter><optional>defaulthost</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_rfc822_parse_headers</function> analyse la chaîne - <parameter>headers</parameter>, et retourne un objet contenant - differents éléments, similaires à la fonction - <function>imap_header</function>, hormis les flags, et autres - éléments liés au serveur <acronym>IMAP</acronym>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-headers"> - <refnamediv> - <refname>imap_headers</refname> - <refpurpose> - Retourne les entêtes de tous les messages d'une boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_headers</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_headers</function> retourne un tableau de chaîne - contenant les entête des messages. Une chaîne par message. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-listmailbox"> - <refnamediv> - <refname>imap_listmailbox</refname> - <refpurpose>Liste les boîtes aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_listmailbox</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>ref</parameter></paramdef> - <paramdef>string <parameter>pat</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_listmailbox</function> retourne un tableau contenant les - noms des boîtes aux lettres. - </para> - <para> - <example> - <title>Exemple avec <function>imap_listmailbox</function></title> - <programlisting role="php"> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_fetchbody</function> 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 + <function>imap_fetchbody</function>. + </para> + <para> + L'option <function>imap_fetchbody </function> est un masque qui peut + contenir les valeurs suivantes : + <itemizedlist> + <listitem> + <simpara> + FT_UID - msgono est un UID + </simpara> + </listitem> + <listitem> + <simpara> + FT_PEEK - Ne pas lever le drapeau \Seen (Message lu) s'il n'est pas + déjà levé. + </simpara> + </listitem> + <listitem> + <simpara> + FT_INTERNAL - La chaîne renvoyée est au format interne, et + ne va pas canoniser les CRLF. + </simpara> + </listitem> + </itemizedlist> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-fetchheader"> + <refnamediv> + <refname>imap_fetchheader</refname> + <refpurpose>Retourne l'en-tête d'un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_fetchheader</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msgno</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_fetchheader</function> retourne l'en-tête brute et + complète RFC 822 du message <parameter>msgno</parameter>, et le retourne + sous la forme d'une chaîne. + </para> + <para> + Les options sont : + <informalexample> + <literallayout> + FT_UID L'argument <parameter>msgno</parameter> 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'en-tête. + Cela réduit le RTT sur une connexion <acronym>IMAP</acronym>, si + le message complet est souhaité. (e.g. dans une opération + de sauvegarde dans un fichier). + </literallayout> + </informalexample> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-fetchstructure"> + <refnamediv> + <refname>imap_fetchstructure</refname> + <refpurpose> + Lit la structure d'un message. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object + <function>imap_fetchstructure</function> + </funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>int + <parameter><optional>flags</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_fetchstructure</function> la structure du message + <parameter>msg_number</parameter>. <function>imap_fetchstructure</function> + dispose d'une option <optional>flags</optional>, qui une seule valeur, + <parameter>FT_UID</parameter>, pour indiquer que l'argument + <parameter>msg_number</parameter> est un <parameter>UID</parameter>. + <function>imap_fetchstructure</function> 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 : + </para> + <para> + <table> + <title> + Objets retournés par <function>imap_fetchstructure</function> + </title> + <tgroup cols="2"> + <tbody> + <row> + <entry>type</entry> + <entry>Type primaire de corps</entry> + </row> + <row> + <entry>encoding</entry> + <entry>Codage de transfert du corps</entry> + </row> + <row> + <entry>ifsubtype</entry> + <entry><literal>TRUE</literal> s'il y a une chaîne de sous type</entry> + </row> + <row> + <entry>subtype</entry> + <entry>sous type<acronym>MIME</acronym></entry> + </row> + <row> + <entry>ifdescription</entry> + <entry><literal>TRUE</literal> s'il y au ne chaîne de description</entry> + </row> + <row> + <entry>description</entry> + <entry>Chaîne de description du contenu</entry> + </row> + <row> + <entry>ifid</entry> + <entry><literal>TRUE</literal> s'il y a une chaîne d'identification</entry> + </row> + <row> + <entry>id</entry> + <entry>Chaîne d'identification</entry> + </row> + <row> + <entry>lines</entry> + <entry>Nombre de lignes</entry> + </row> + <row> + <entry>bytes</entry> + <entry>Nombre d'octets</entry> + </row> + <row> + <entry>ifdisposition</entry> + <entry><literal>TRUE</literal> s'il y a une chaîne de disposition</entry> + </row> + <row> + <entry>disposition</entry> + <entry>Chaîne de disposition</entry> + </row> + <row> + <entry>ifdparameters</entry> + <entry> + <literal>TRUE</literal> s'il y a un tableau de paramètres dparameters + </entry> + </row> + <row> + <entry>dparameters</entry> + <entry>tableau de disposition</entry> + </row> + <row> + <entry>ifparameters</entry> + <entry><literal>TRUE</literal> si le tableau de paramètres existe</entry> + </row> + <row> + <entry>parameters</entry> + <entry>Tableau de paramètres <acronym>MIME</acronym></entry> + </row> + <row> + <entry>parts</entry> + <entry>Tableau d'objet décrivant chaque partie du message</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <note> + <orderedlist> + <listitem> + <para> + dparameters est un tableau d'objet où chaque objet à + un "attribut" et une "valeur". + </para> + </listitem> + <listitem> + <para> + parameter est un tableau d'objet où chaque objet à un + "attribut" et une "valeur". + </para> + </listitem> + <listitem> + <para> + 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. + </para> + </listitem> + </orderedlist> + </note> + <para> + <table> + <title>Type primaire de corps</title> + <tgroup cols="2"> + <tbody> + <row><entry>0</entry><entry>text</entry></row> + <row><entry>1</entry><entry>multipart</entry></row> + <row><entry>2</entry><entry>message</entry></row> + <row><entry>3</entry><entry>application</entry></row> + <row><entry>4</entry><entry>audio</entry></row> + <row><entry>5</entry><entry>image</entry></row> + <row><entry>6</entry><entry>vidéo</entry></row> + <row><entry>7</entry><entry>autre</entry></row> + </tbody> + </tgroup> + </table> + </para> + <para> + <table> + <title>Codage de transfert</title> + <tgroup cols="2"> + <tbody> + <row><entry>0</entry><entry>7BIT</entry></row> + <row><entry>1</entry><entry>8BIT</entry></row> + <row><entry>2</entry><entry>BINARY</entry></row> + <row><entry>3</entry><entry>BASE64</entry></row> + <row><entry>4</entry><entry>QUOTED-PRINTABLE</entry></row> + <row><entry>5</entry><entry>OTHER</entry></row> + </tbody> + </tgroup> + </table> + </para> + <para> + Voir aussi + <function>imap_fetchstructure</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-get-quota"> + <refnamediv> + <refname>imap_get_quota</refname> + <refpurpose> + Lit les quotas des boîtes aux lettres + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_get_quota</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>quota_root</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_get_quota</function> retourne un tableau contenant + les valeurs de quota et courante de la boîte aux lettres + <parameter>quota_root</parameter>. Le quota représente la + taille maximale de votre boîte aux lettres. La valeur courante + est l'espace actuellement utilisé par votre boîte aux lettres. + <function>imap_get_quota</function> retournera <literal>FALSE</literal> + en cas d'échec. + </para> + <para> + <function>imap_get_quota</function> ne fonctionne actuellement qu'avec + les librairies c-client2000. + </para> + <para> + <parameter>imap_stream</parameter> doit avoir été créé + avec la fonction <function>imap_open</function>. Ce flot est + nécessairement ouvert en tant qu'administrateur du serveur, pour que + les droits nécessaires lui soit alloué. + <parameter>quota_root</parameter> doit être de la forme : + "<literal>user.nom</literal>", où "nom" est le nom de la + boîte aux lettres que vous souhaitez analyser. + </para> + <para> + <example> + <title>Exemple avec <function>imap_get_quota</function></title> + <programlisting role="php"> <?php -$mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) - || die("connexion impossible: ".imap_last_error()); -$list = imap_listmailbox($mbox,"{your.imap.host}","*"); -if(is_array($list)) { - reset($list); - while (list($key, $val) = each($list)) - print imap_utf7_decode($val)."<br>\n"; -} else - print "imap_listmailbox a échoué: ".imap_last_error()."\n"; +$mbox = imap_open("{votre.hote.imap}","mailadmin","mot de passe",OP_HALFOPEN) + or die("Connexion impossible : ".imap_last_error()); +$quota_value = imap_get_quota($mbox, "user.toto"); +if(is_array($quota_value)) { + print "Utilisation actuelle : " . $quota_value['usage']; + print "Quota : " . $quota_value['limit']; +} imap_close($mbox); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-getmailboxes"> - <refnamediv> - <refname>imap_getmailboxes</refname> - <refpurpose> - Liste les boîtes aux lettres, et retourne le détail pour chacune. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_getmailboxes</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>ref</parameter></paramdef> - <paramdef>string <parameter>pat</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_getmailboxes</function> retourne un tableau d'objets contenant - les informations sur les boîtes aux lettres. Chaque objet a les attributs - de <parameter>name</parameter>, qui contient le nom complet de la boîte - aux lettres; <parameter>delimiter</parameter>, qui est le délimiteur - hiérarchique; et <parameter>attributes</parameter>. - <parameter>Attributes</parameter> est un masque de bits, qui contient : - <itemizedlist> - <listitem> - <simpara> - 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). - </simpara> - </listitem> - <listitem> - <simpara> - LATT_NOSELECT - Ceci est juste un container, pas une boîte aux lettres - (vous ne pouvez pas l'ouvrir). - </simpara> - </listitem> - <listitem> - <simpara> - LATT_MARKED - Cette boîte aux lettres est marquée. - Utilisé uniquement avec UW-IMAPD. - </simpara> - </listitem> - <listitem> - <simpara> - LATT_UNMARKED - Cette boîte aux lettres n'est pas - marquée. Utilisé uniquement avec UW-IMAPD. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - <parameter>ref</parameter> ne devrait être que le serveur <acronym>IMAP</acronym> - sous la forme <literal>{imap_server:imap_port}</literal>, et - <parameter>pattern</parameter> 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 <parameter>pattern</parameter>. - </para> - <para> - Il y a deux caractères spéciaux que vous pouvez utiliser dans - <parameter>pattern</parameter> : '*' et '%'. '*' signifie : toutes les - boîtes aux lettres. Si vous passez <parameter>pattern</parameter> - 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é à <parameter>pattern</parameter> - 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 <filename>~/mail directory</filename>, mais pas leurs enfants. - </para> - <para> - <example> - <title>Exemple avec <function>imap_getmailboxes</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + <para> + Voir aussi + <function>imap_open</function> et + <function>imap_set_quota</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-getmailboxes"> + <refnamediv> + <refname>imap_getmailboxes</refname> + <refpurpose> + Liste les boîtes aux lettres, et retourne le détail pour chacune. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_getmailboxes</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>ref</parameter></paramdef> + <paramdef>string <parameter>pat</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_getmailboxes</function> retourne un tableau d'objets contenant + les informations sur les boîtes aux lettres. Chaque objet a les attributs + de <parameter>name</parameter>, qui contient le nom complet de la boîte + aux lettres; <parameter>delimiter</parameter>, qui est le délimiteur + hiérarchique; et <parameter>attributes</parameter>. + <parameter>Attributes</parameter> est un masque de bits, qui contient : + <itemizedlist> + <listitem> + <simpara> + 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). + </simpara> + </listitem> + <listitem> + <simpara> + LATT_NOSELECT - Ceci est juste un container, pas une boîte aux lettres + (vous ne pouvez pas l'ouvrir). + </simpara> + </listitem> + <listitem> + <simpara> + LATT_MARKED - Cette boîte aux lettres est marquée. + Utilisé uniquement avec UW-IMAPD. + </simpara> + </listitem> + <listitem> + <simpara> + LATT_UNMARKED - Cette boîte aux lettres n'est pas + marquée. Utilisé uniquement avec UW-IMAPD. + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + <parameter>ref</parameter> ne devrait être que le serveur <acronym>IMAP</acronym> + sous la forme <literal>{imap_server:imap_port}</literal>, et + <parameter>pattern</parameter> 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 <parameter>pattern</parameter>. + </para> + <para> + Il y a deux caractères spéciaux que vous pouvez utiliser dans + <parameter>pattern</parameter> : '*' et '%'. '*' signifie : toutes les + boîtes aux lettres. Si vous passez <parameter>pattern</parameter> + 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é à <parameter>pattern</parameter> + 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 <filename>~/mail directory</filename>, mais pas leurs enfants. + </para> + <para> + <example> + <title>Exemple avec <function>imap_getmailboxes</function></title> + <programlisting role="php"> <?php $mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) - || die("connexion impossible: ".imap_last_error()); + or die("connexion impossible: ".imap_last_error()); $list = imap_getmailboxes($mbox,"{your.imap.host}","*"); if(is_array($list)) { - reset($list); - while (list($key, $val) = each($list)) - { - print "($key) "; - print imap_utf7_decode($val->name).","; - print "'".$val->delimiter."',"; - print $val->attributes."<br>\n"; - } + reset($list); + while (list($key, $val) = each($list)) + { + print "($key) "; + print imap_utf7_decode($val->name).","; + print "'".$val->delimiter."',"; + print $val->attributes."<br>\n"; + } } else - print "imap_getmailboxes a échoué : ".imap_last_error()."\n"; + print "imap_getmailboxes a échoué : ".imap_last_error()."\n"; imap_close($mbox); ?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>imap_getsubscribed</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-get-quota"> - <refnamediv> - <refname>imap_get_quota</refname> - <refpurpose> - Lit les quotas des boîtes aux lettres - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_get_quota</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>quota_root</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_get_quota</function> retourne un tableau contenant - les valeurs de quota et courante de la boîte aux lettres - <parameter>quota_root</parameter>. Le quota représente la - taille maximale de votre boîte aux lettres. La valeur courante - est l'espace actuellement utilisé par votre boîte aux lettres. - <function>imap_get_quota</function> retournera &false; - en cas d'échec. - </para> - <para> - <function>imap_get_quota</function> ne fonctionne actuellement qu'avec - les librairies c-client2000. - </para> - <para> - <parameter>imap_stream</parameter> doit avoir été créé - avec la fonction <function>imap_open</function>. Ce flot est - nécessairement ouvert en tant qu'administrateur du serveur, pour que - les droits nécessaires lui soit alloué. - <parameter>quota_root</parameter> doit être de la forme : - "<literal>user.nom</literal>", où "nom" est le nom de la - boîte aux lettres que vous souhaitez analyser. - </para> - <para> - <example> - <title>Exemple avec <function>imap_get_quota</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + <para> + Voir aussi <function>imap_getsubscribed</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-getsubscribed"> + <refnamediv> + <refname>imap_getsubscribed</refname> + <refpurpose>Liste toutes les boîtes aux lettres souscrites.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_getsubscribed</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>ref</parameter></paramdef> + <paramdef>string <parameter>pattern</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_getsubscribed</function> est identique à + <function>imap_getmailboxes</function>, mais ne retourne que les + boîtes aux lettres auxquelles l'utilisateur est inscrit. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-header"> + <refnamediv> + <refname>imap_header</refname> + <refpurpose>Lit l'en-tête d'un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_header</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>int + <parameter><optional>fromlength</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>subjectlength</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>defaulthost</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_header</function> est un alias de + <function>imap_headerinfo</function> et lui est identique en tous points. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-headerinfo"> + <refnamediv> + <refname>imap_headerinfo</refname> + <refpurpose>Lit l'en-tête du message</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_headerinfo</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + <paramdef>int + <parameter><optional>fromlength</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>subjectlength</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>defaulthost</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_headerinfo</function> retourne un objet contenant + divers éléments d'en-tête. + </para> + <para> + <informalexample> + <literallayout> + remail, date, Date, subject, Subject, in_reply_to, message_id, + newsgroups, followup_to, references +éléments d'en-tête : + 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'en-tête To: jusqu'à 1024 caractères) +to[] (retourne un objet avec tout l'en-tête To, contenant): + personal + adl + mailbox + host +fromaddress (toute la ligne d'en-tête from: jusqu'à 1024 caractères) +from[] (retourne un objet avec tout l'en-tête From, contenant): + personal + adl + mailbox + host +ccaddress (toute la ligne d'en-tête CC: jusqu'à 1024 caractères) +cc[] (retourne un objet avec tout l'en-tête CC, contenant): + personal + adl + mailbox + host +bccaddress (toute la ligne d'en-tête BCC: jusqu'à 1024 caractères) +bcc[] (retourne un objet avec tout l'en-tête BCC, contenant): + personal + adl + mailbox + host +reply_toaddress (oute la ligne d'en-tête Reply_to: jusqu'à 1024 caractères) +reply_to[] (retourne un objet avec tout l'en-tête Reply_to, contenant) + personal + adl + mailbox + host +senderaddress (toute la ligne d'en-tête Sender: jusqu'à 1024 caractères) +sender[] (retourne un objet avec tout l'en-tête Sender, contenant) + personal + adl + mailbox + host +return_path (toute la ligne d'en-tête Return-path: jusqu'à 1024 caractères) +return_path[] (retourne un objet avec tout l'en-tête Return-path, contenant) + personal + adl + mailbox + host +udate (Date du mail, au format UNIX) +fetchfrom (Ligne d'en-tête from formatée pour tenir dans <parameter>fromlength</parameter> +caractères) +fetchsubject (Ligne d'en-tête subject formatée pour tenir dans <parameter>subjectlength</parameter> caractères) + </literallayout> + </informalexample> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-headers"> + <refnamediv> + <refname>imap_headers</refname> + <refpurpose> + Retourne les en-têtes de tous les messages d'une boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_headers</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_headers</function> retourne un tableau de chaîne + contenant les en-tête des messages. Une chaîne par message. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-last-error"> + <refnamediv> + <refname>imap_last_error</refname> + <refpurpose> + Retourne la dernière erreur (si elle existe) qui est survenu lors + de la dernière requête. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_last_error</function></funcdef> + <paramdef>void </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_last_error</function> retourne le texte complet de la + dernière erreur <acronym>IMAP</acronym> (si elle existe) qui + est survenu lors de la dernière requête. La pile d'erreur + n'est pas touchée. Appeler <function>imap_last_error</function> + successivement dans nouvelles erreurs retournera la même erreur. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-listmailbox"> + <refnamediv> + <refname>imap_listmailbox</refname> + <refpurpose>Liste les boîtes aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_listmailbox</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>ref</parameter></paramdef> + <paramdef>string <parameter>pat</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_listmailbox</function> retourne un tableau contenant les + noms des boîtes aux lettres. + </para> + <para> + <example> + <title>Exemple avec <function>imap_listmailbox</function></title> + <programlisting role="php"> <?php -$mbox = imap_open("{votre.hote.imap}","mailadmin","mot de passe",OP_HALFOPEN) - || die("Connexion impossible : ".imap_last_error()); -$quota_value = imap_get_quota($mbox, "user.toto"); -if(is_array($quota_value)) { - print "Utilisation actuelle : " . $quota_value['usage']; - print "Quota : " . $quota_value['limit']; -} +$mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) + or die("connexion impossible: ".imap_last_error()); +$list = imap_listmailbox($mbox,"{your.imap.host}","*"); +if(is_array($list)) { + reset($list); + while (list($key, $val) = each($list)) + print imap_utf7_decode($val)."<br>\n"; +} else + print "imap_listmailbox a échoué: ".imap_last_error()."\n"; imap_close($mbox); ?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>imap_open</function> et - <function>imap_set_quota</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-listsubscribed"> - <refnamediv> - <refname>imap_listsubscribed</refname> - <refpurpose>Liste les boîtes aux lettres souscrites.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_listsubscribed</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>ref</parameter></paramdef> - <paramdef>string <parameter>pattern</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_listsubscribed</function> retourne un tableau avec toutes les - boîtes aux lettres auxquelles vous avez souscrit. - Les arguments <parameter>ref</parameter> et <parameter>pattern</parameter> - indiquent respectivement, le dossier oú chercher et le nom des - boîtes recherchées, sous la forme d'un masque. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-set-quota"> - <refnamediv> - <refname>imap_set_quota</refname> - <refpurpose>Modifie le quota d'une boîte aux lettres</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_set_quota</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>quota_root</parameter></paramdef> - <paramdef>int <parameter>quota_limit</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_set_quota</function> modifie le quota de la - boîte aux lettres <parameter>quota_root</parameter>, en la - fixant à <parameter>quota_limit</parameter>. <function>imap_set_quota</function> - requiert que <parameter>imap_stream</parameter> ait été - ouvert avec un compte d'administrateur, pour avoir les droits - nécessaires : elle ne fonctionnera avec aucun autre - utilisateur. - </para> - <para> - <function>imap_get_quota</function> ne fonctionne actuellement qu'avec - les librairies c-client2000. - </para> - <para> - <parameter>imap_stream</parameter> doit avoir été créé - avec la fonction <function>imap_open</function>. Ce flot est - nécessairement ouvert en tant qu'administrateur du serveur, pour que - les droits nécessaires lui soit alloué. - <parameter>quota_root</parameter> doit être de la forme : - "<literal>user.nom</literal>", où "nom" est le nom de la - boîte aux lettres que vous souhaitez analyser. - <parameter>quota_limit</parameter> est la nouvelle taille - maximum (en ko) de la boîte <parameter>quota_root</parameter>. - </para> - <para> - <function>imap_set_quota</function> retourne &true; - en cas de succès, et &false; sinon. - </para> - <para> - <example> - <title><function>imap_set_quota</function> example</title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-listsubscribed"> + <refnamediv> + <refname>imap_listsubscribed</refname> + <refpurpose>Liste les boîtes aux lettres souscrites.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_listsubscribed</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>ref</parameter></paramdef> + <paramdef>string <parameter>pattern</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_listsubscribed</function> retourne un tableau avec toutes les + boîtes aux lettres auxquelles vous avez souscrit. + Les arguments <parameter>ref</parameter> et <parameter>pattern</parameter> + indiquent respectivement, le dossier où chercher et le nom des + boîtes recherchées, sous la forme d'un masque. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mail"> + <refnamediv> + <refname>imap_mail</refname> + <refpurpose> + Envoie un message mail + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_mail</function></funcdef> + <paramdef>string <parameter>to</parameter></paramdef> + <paramdef>string <parameter>subject</parameter></paramdef> + <paramdef>string <parameter>message</parameter></paramdef> + <paramdef>string + <parameter><optional>additional_headers</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>cc</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>bcc</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>rpath</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_mail</function> est uniquement disponible sous PHP 3. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mail-compose"> + <refnamediv> + <refname>imap_mail_compose</refname> + <refpurpose> + Crée un message MIME + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_mail_compose</function></funcdef> + <paramdef>array <parameter>envelope</parameter></paramdef> + <paramdef>array <parameter>body</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + </para> + <para> + <example> + <title>Exemple <function>imap_mail_compose</function></title> + <programlisting role="php"> <?php -$mbox = imap_open ("{votre.hote.imap:143}", "mailadmin", "mot de passe"); -if(!imap_set_quota($mbox, "user.toto", 3000)) { - print "Erreur lors de la modification des quotas\n"; - return; +$envelope["from"]="musone@afterfive.com"; +$envelope["to"]="musone@darkstar"; +$envelope["cc"]="musone@edgeglobal.com"; +$part1["type"]=TYPEMULTIPART; +$part1["subtype"]="mixed"; +$filename="/tmp/imap.c.gz"; +$fp=fopen($filename,"r"); +$contents=fread($fp,filesize($filename)); +fclose($fp); +$part2["type"]=TYPEAPPLICATION; +$part2["encoding"]=ENCBINARY; +$part2["subtype"]="octet-stream"; +$part2["description"]=basename($filename); +$part2["contents.data"]=$contents; +$part3["type"]=TYPETEXT; +$part3["subtype"]="plain"; +$part3["description"]="description3"; +$part3["contents.data"]="contents.data3\n\n\n\t"; +$body[1]=$part1; +$body[2]=$part2; +$body[3]=$part3; +echo nl2br(imap_mail_compose($envelope,$body)); +?> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mail-copy"> + <refnamediv> + <refname>imap_mail_copy</refname> + <refpurpose> + Copie les messages spécifiés dans une boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_mail_copy</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>msglist</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_mail_copy</function> copie les messages email + spécifiés par <parameter>msglist</parameter> dans la + boîte aux lettres nommée <parameter>mbox</parameter>. + <parameter>msglist</parameter> est un intervalle, et pas seulement + une liste numéros de message. + </para> + <para> + <function>imap_mail_copy</function> retourne <literal>TRUE</literal> + en cas de succès et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + <parameter>flags</parameter> est un masque, qui peut contenir une ou plusieurs + des valeurs suivantes : + <itemizedlist> + <listitem> + <simpara> + CP_UID - la séquence de nombre contient des UIDS + </simpara> + </listitem> + <listitem> + <simpara> + CP_MOVE - Efface les messages après copie. + </simpara> + </listitem> + </itemizedlist> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mail-move"> + <refnamediv> + <refname>imap_mail_move</refname> + <refpurpose> + Déplace les messages spécifiés + dans une boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_mail_move</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>msglist</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + <paramdef>int + <parameter><optional>flags</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_mail_move</function> déplace les messages + spécifiés par <parameter>msglist</parameter> dans la + boîte aux lettres <parameter>mbox</parameter>. + <parameter>msglist</parameter> est un intervalle, et pas seulement une + liste de messages. + </para> + <para> + <parameter>flags</parameter> est un champs de bit et peut contenir une + seule valeur : + <itemizedlist> + <listitem> + <simpara> + CP_UID - La séquence de nombrs contient UIDS + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + <function>imap_mail_move</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mailboxmsginfo"> + <refnamediv> + <refname>imap_mailboxmsginfo</refname> + <refpurpose> + Lit les informations à propos de la boîte aux lettres courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_mailboxmsginfo</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_mailboxmsginfo</function> retourne les informations à + propos de la boîte aux lettres courante. <function>imap_mailboxmsginfo</function> + retourne <literal>FALSE</literal> en cas d'échec. + </para> + <para> + <function>imap_mailboxmsginfo</function> vérifie le statut courant de + la boîte aux lettres sur le serveur, et retourne un objet avec les + propriétés suivantes : + </para> + <para> + <table> + <title>Propriétés de boîte aux lettres</title> + <tgroup cols="2"> + <tbody> + <row> + <entry>Date</entry> + <entry> + Date de dernière modification du contenu de la boîte aux lettres + </entry> + </row> + <row> + <entry>Driver</entry> + <entry>Pilote</entry> + </row> + <row> + <entry>Mailbox</entry> + <entry>Nom de la boîte aux lettres</entry> + </row> + <row> + <entry>Nmsgs</entry> + <entry>Nombre de messages</entry> + </row> + <row> + <entry>Recent</entry> + <entry>Nombre de messages récents</entry> + </row> + <row> + <entry>Unread</entry> + <entry>Nombre de messages non lus</entry> + </row> + <row> + <entry>Deleted</entry> + <entry>Nombre de messages effacés</entry> + </row> + <row> + <entry>Size</entry> + <entry>Taille de la boîte aux lettres</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + <example> + <title>Exemple avec <function>imap_mailboxmsginfo</function></title> + <programlisting role="php"> +<?php +$mbox = imap_open("{your.imap.host}INBOX","utilisateur", "mot_de_passe") + or die("conexion impossible: ".imap_last_error()); +$check = imap_mailboxmsginfo($mbox); +if($check) { + print "Date: " . $check->Date ."<br>\n" ; + print "Pilote: " . $check->Driver ."<br>\n" ; + print "Mailbox: " . $check->Mailbox ."<br>\n" ; + print "Messages: ". $check->Nmsgs ."<br>\n" ; + print "Récent: " . $check->Recent ."<br>\n" ; + print "Non lus: " . $check->Unread ."<br>\n" ; + print "Effacés: " . $check->Deleted ."<br>\n" ; + print "Taille: " . $check->Size ."<br>\n" ; +} else { + print "imap_check() a échoué: ".imap_last_error(). "<br>\n"; } imap_close($mbox); ?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>imap_open</function> et - <function>imap_set_quota</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-getsubscribed"> - <refnamediv> - <refname>imap_getsubscribed</refname> - <refpurpose>Liste toutes les boîtes aux lettres souscrites.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_getsubscribed</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>ref</parameter></paramdef> - <paramdef>string <parameter>pattern</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_getsubscribed</function> est identique à - <function>imap_getmailboxes</function>, mais ne retourne que les - boîtes aux lettres auxquelles l'utilisateur est inscrit. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mail-copy"> - <refnamediv> - <refname>imap_mail_copy</refname> - <refpurpose> - Copie les messages spécifiés dans une boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_mail_copy</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>msglist</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_mail_copy</function> copie les messages email - spécifiés par <parameter>msglist</parameter> dans la - boîte aux lettres nommée <parameter>mbox</parameter>. - <parameter>msglist</parameter> est un intervalle, et pas seulement - une liste numéros de message. - </para> - <para> - <function>imap_mail_copy</function> retourne &true; en cas de succès et - &false; en cas d'erreur. - </para> - <para> - <parameter>flags</parameter> est un masque, qui peut contenir une ou plusieurs - des valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - CP_UID - la séquence de nombre contient des UIDS - </simpara> - </listitem> - <listitem> - <simpara> - CP_MOVE - Efface les messages après copie. - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mail-move"> - <refnamediv> - <refname>imap_mail_move</refname> - <refpurpose> - Déplace les messages spécifiés - dans une boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_mail_move</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>msglist</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - <paramdef>int - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_mail_move</function> déplace les messages - spécifiés par <parameter>msglist</parameter> dans la - boîte aux lettres <parameter>mbox</parameter>. - <parameter>msglist</parameter> est un intervalle, et pas seulement une - liste de messages. - </para> - <para> - <parameter>flags</parameter> est un champs de bit et peut contenir une - seule valeur : - <itemizedlist> - <listitem> - <simpara> - CP_UID - La séquence de nombrs contient UIDS - </simpara> - </listitem> - </itemizedlist> - </para> <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-num-msg"> - <refnamediv> - <refname>imap_num_msg</refname> - <refpurpose> - Retourne le nombre de message dans la boîte aux lettres courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_num_msg</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_num_msg</function> retourne le nombre de message dans la - boîte aux lettres courante. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-num-recent"> - <refnamediv> - <refname>imap_num_recent</refname> - <refpurpose> - Retourne le nombre de messages récents dans la boîte - aux lettres courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_num_recent</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_num_recent</function> retourne le nombre de message - récents dans la boîte aux lettres courante. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-open"> - <refnamediv> - <refname>imap_open</refname> - <refpurpose>Ouvre un flot IMAP vers une boîte aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_open</function></funcdef> - <paramdef>string <parameter>mailbox</parameter></paramdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - <paramdef>int - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_open</function> retourne un flot <acronym>IMAP</acronym> - en cas de succès, et &false; en cas d'erreur. - <function>imap_open</function> peut aussi être utilisée pour - ouvrir des flots sur des serveurs <acronym>POP3</acronym> et <acronym>NNTP</acronym>. - </para> - <para> - 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 reservé 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 - (commencant 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 <function>imap_utf7_encode</function>. - </para> - <para> - Les options sont un masque de bit, qui peut prendre une ou plusieurs des - valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - OP_READONLY - Ouvre une boîte aux lettres en lecture seule - </simpara> - </listitem> - <listitem> - <simpara> - OP_ANONYMOUS - Ne pas utiliser, ou modifier le fichier .newsrc pour les news. - </simpara> - </listitem> - <listitem> - <simpara> - OP_HALFOPEN - Pour les noms <acronym>IMAP</acronym> et <acronym>NNTP</acronym>, - ouvre une connexion mais n'ouvre pas une boîte aux lettres. - </simpara> - </listitem> - <listitem> - <simpara> - CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la - liste, lors de la terminaison du flot. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - Pour se connecter à un serveur <acronym>IMAP</acronym>, on peut utiliser la - commande suivante : - <informalexample> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-mime-header-decode"> + <refnamediv> + <refname>imap_mime_header_decode</refname> + <refpurpose>Décode les éléments MIME d'une en-tête</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_mime_header_decode</function></funcdef> + <paramdef>string <parameter>text</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_mime_header_decode</function> décode un message + MIME qui contient des données non ASCII + (Voir <ulink url="&url.rfc;rfc2047.html">RFC2047</ulink>) + Les éléments décodés sont retournés dans un tableau + d'objets. Chacun de ces objets a deux propriétés : + "charset" & "text". Si l'élément n'a pas été encodé, + ou, en d'autres termes, sil il est en clair (plain US_ASCII), + la propriété "charset" est mise à "default". + </para> + <para> + <example> + <title>Exemple <function>imap_mime_header_decode</function></title> + <programlisting role="php"> +<?php +$text="=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>"; +$elements=imap_mime_header_decode($text); +for($i=0;$i<count($elements);$i++) { + echo "Charset: {$elements[$i]->charset}\n"; + echo "Texte: {$elements[$i]->text}\n\n"; +} +?> + </programlisting> + </example> + </para> + <para> + Dans l'exemple ci-dessus, on trouve deux éléments : le premier + a été encodé en ISO-8859-1, et le second est en clair. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-msgno"> + <refnamediv> + <refname>imap_msgno</refname> + <refpurpose> + Retourne le numéro de séquence de message pour un UID donné. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_msgno</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>uid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_msgno</function> retourne le numéro de séquence + de message pour l'UID <parameter>uid</parameter>. + C'est la fonction contraire de <function>imap_uid</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-num-msg"> + <refnamediv> + <refname>imap_num_msg</refname> + <refpurpose> + Retourne le nombre de message dans la boîte aux lettres courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_num_msg</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_num_msg</function> retourne le nombre de message dans la + boîte aux lettres courante. + </para> + <para> + Voir aussi + <function>imap_num_recent</function> et + <function>imap_status</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-num-recent"> + <refnamediv> + <refname>imap_num_recent</refname> + <refpurpose> + Retourne le nombre de messages récents dans la boîte + aux lettres courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_num_recent</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_num_recent</function> retourne le nombre de message + récents dans la boîte aux lettres courante. + </para> + <para> + Voir aussi + <function>imap_num_msg</function> et + <function>imap_status</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-open"> + <refnamediv> + <refname>imap_open</refname> + <refpurpose>Ouvre un flot IMAP vers une boîte aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_open</function></funcdef> + <paramdef>string <parameter>mailbox</parameter></paramdef> + <paramdef>string <parameter>username</parameter></paramdef> + <paramdef>string <parameter>password</parameter></paramdef> + <paramdef>int + <parameter><optional>flags</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_open</function> retourne un flot <acronym>IMAP</acronym> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + <function>imap_open</function> peut aussi être utilisée pour + ouvrir des flots sur des serveurs <acronym>POP3</acronym> et <acronym>NNTP</acronym>. + </para> + <para> + 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 <function>imap_utf7_encode</function>. + </para> + <para> + Les options sont un masque de bit, qui peut prendre une ou plusieurs des + valeurs suivantes : + <itemizedlist> + <listitem> + <simpara> + OP_READONLY - Ouvre une boîte aux lettres en lecture seule + </simpara> + </listitem> + <listitem> + <simpara> + OP_ANONYMOUS - Ne pas utiliser, ou modifier le fichier .newsrc pour les news. + </simpara> + </listitem> + <listitem> + <simpara> + OP_HALFOPEN - Pour les noms <acronym>IMAP</acronym> et <acronym>NNTP</acronym>, + ouvre une connexion mais n'ouvre pas une boîte aux lettres. + </simpara> + </listitem> + <listitem> + <simpara> + CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la + liste, lors de la terminaison du flot. + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + Pour se connecter à un serveur <acronym>IMAP</acronym>, on peut utiliser la + commande suivante : + <informalexample> + <programlisting role="php"> <?php $mbox = imap_open("{localhost:143}INBOX","user_id","password"); ?> - </programlisting> - </informalexample> - Pour se connecter à un serveur <acronym>POP3</acronym> qui fonctionne sur - le port 110 de la machine locale on peut utiliser la commande suivante : + </programlisting> + </informalexample> + Pour se connecter à un serveur <acronym>POP3</acronym> qui fonctionne sur + le port 110 de la machine locale on peut utiliser la commande suivante : + <informalexample> + <programlisting role="php"> +<?php +$mbox = imap_open("{localhost:110/pop3}INBOX","user_id","password"); +?> + </programlisting> + </informalexample> + Pour se connecter à un serveur IMAP SSL ou POP3 SSL, ajoutez + <literal>/ssl</literal> après le protocole : <informalexample> <programlisting role="php"> <?php -$mbox = imap_open("{localhost/pop3:110}INBOX","user_id","password"); +$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password"); ?> </programlisting> </informalexample> - Pour se connecter à un serveur<acronym>NNTP</acronym> qui fonctionne sur - le port 119 de la machine locale on peut utiliser la commande: + Pour se connecter à un serveur SSL IMAP ou POP3 avec un certificat + ajoutez <literal>/ssl/novalidate-cert</literal> après le protocole : <informalexample> <programlisting role="php"> <?php -$nntp = imap_open("{localhost/nntp:119}comp.test","",""); +$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password"); ?> </programlisting> </informalexample> - Pour se connecter à un serveur distant, remplacez "localhost" par - le nom ou l'adresse IP de la machine. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-ping"> - <refnamediv> - <refname>imap_ping</refname> - <refpurpose>Vérifie que le flot IMAP est toujours actif.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_ping</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_ping</function> retourne &true; si - le flot <parameter>imap_stream</parameter> existe toujours, - et &false; sinon. - </para> - <para> - <function>imap_ping</function> vérifie que le flot <acronym>IMAP</acronym> - 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'éxpiration. - </para> - <para> - <example> - <title>Exemple avec <function>imap_ping</function></title> - <programlisting role="php"> + Pour se connecter à un serveur <acronym>NNTP</acronym> qui fonctionne sur + le port 119 de la machine locale on peut utiliser la commande: + <informalexample> + <programlisting role="php"> +<?php +$nntp = imap_open("{localhost:119/nntp}comp.test","",""); +?> + </programlisting> + </informalexample> + Pour se connecter à un serveur distant, remplacez "localhost" par + le nom ou l'adresse IP de la machine. + </para> + <para> + <example> + <title>Exemple avec <function>imap_open</function></title> + <programlisting role="php"> <?php -$mbox = imap_open ("{your.imap.host:143}", "username", "password"); +$mbox = imap_open ("{votre.hote.imap:143}", "nom_utilisateur", "mot de passe"); echo "<p><h1>Mailboxes</h1>\n"; -$folders = imap_listmailbox ($mbox, "{your.imap.host:143}", "*"); +$folders = imap_listmailbox ($mbox, "{votre.hote.imap:143}", "*"); if ($folders == <literal>FALSE</literal>) { - echo "Call failed<br>\n"; + echo "Appel échoué<br>\n"; } else { - while (list ($key, $val) = each ($folders)) { - echo $val."<br>\n"; - } + while (list ($key, $val) = each ($folders)) { + echo $val."<br>\n"; + } } -echo "<p><h1>Headers in INBOX</h1>\n"; +echo "<p><h1>en-têtes dans INBOX</h1>\n"; $headers = imap_headers ($mbox); if ($headers == <literal>FALSE</literal>) { - echo "Call failed<br>\n"; + echo "Appel échoué<br>\n"; } else { - while (list ($key,$val) = each ($headers)) { - echo $val."<br>\n"; - } + while (list ($key,$val) = each ($headers)) { + echo $val."<br>\n"; + } } imap_close($mbox); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-renamemailbox"> - <refnamediv> - <refname>imap_renamemailbox</refname> - <refpurpose>Renomme une boîte aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_renamemailbox</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>old_mbox</parameter></paramdef> - <paramdef>string <parameter>new_mbox</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_renamemailbox</function> renomme la boîte aux lettres - <parameter>old_mbox</parameter> en <parameter>new_mbox</parameter>. - </para> - <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - <para> - Voir aussi <function>imap_createmailbox</function>, - <function>imap_deletemailbox</function> et - <function>imap_open</function> pour le format de <parameter>mbox</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-reopen"> - <refnamediv> - <refname>imap_reopen</refname> - <refpurpose> - Ouvre un flot IMAP vers une nouvelle boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_reopen</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mailbox</parameter></paramdef> - <paramdef>string + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-ping"> + <refnamediv> + <refname>imap_ping</refname> + <refpurpose>Vérifie que le flot IMAP est toujours actif.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_ping</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_ping</function> retourne <literal>TRUE</literal> si + le flot <parameter>imap_stream</parameter> existe toujours, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>imap_ping</function> vérifie que le flot <acronym>IMAP</acronym> + 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. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-qprint"> + <refnamediv> + <refname>imap_qprint</refname> + <refpurpose> + Convertit une chaîne à guillemets en une + chaîne à 8 bits. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_qprint</function></funcdef> + <paramdef>string <parameter>string</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_qprint</function> convertit la chaîne à + guillemets <parameter>string</parameter> en une chaîne à + 8 bits. + </para> + <para> + <function>imap_qprint</function> retourne une chaîne 8 bits (binaire). + </para> + <para> + Voir aussi + <function>imap_8bit</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-renamemailbox"> + <refnamediv> + <refname>imap_renamemailbox</refname> + <refpurpose>Renomme une boîte aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_renamemailbox</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>old_mbox</parameter></paramdef> + <paramdef>string <parameter>new_mbox</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_renamemailbox</function> renomme la boîte aux lettres + <parameter>old_mbox</parameter> en <parameter>new_mbox</parameter>. + </para> + <para> + <function>imap_renamemailbox</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + Voir aussi <function>imap_createmailbox</function>, + <function>imap_deletemailbox</function> et + <function>imap_open</function> pour le format de <parameter>mbox</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-reopen"> + <refnamediv> + <refname>imap_reopen</refname> + <refpurpose> + Ouvre un flot IMAP vers une nouvelle boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_reopen</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mailbox</parameter></paramdef> + <paramdef>string <parameter><optional>flags</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_reopen</function> réouvre la connexion spécifiée - au serveur <acronym>IMAP</acronym> ou <acronym>NNTP</acronym>, - avec une nouvelle boîtes aux lettres. - </para> - <para> - Les options sont des masques de bit, qui peuvent contenir les valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - OP_READONLY - Ouvre une boîte aux lettres en lecture seule - </simpara> - </listitem> - <listitem> - <simpara> - OP_ANONYMOUS - Ne pas utiliser, ou modifier le fichier .newsrc pour les news - </simpara> - </listitem> - <listitem> - <simpara> - OP_HALFOPEN - Pour les noms <acronym>IMAP</acronym> et <acronym>NNTP</acronym>, - ouvre une connexion mais n'ouvre pas une boîte aux lettres. - </simpara> - </listitem> - <listitem> - <simpara> - CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la liste, - lors de la terminaison du flot. (voir <function>imap_delete</function> et - <function>imap_expunge</function>). - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-subscribe"> - <refnamediv> - <refname>imap_subscribe</refname> - <refpurpose>Souscrit à une boîte aux lettres.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_subscribe</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_subscribe</function> souscrit à la boîte aux - lettres <parameter>mbox</parameter>. - </para> - <para> - <function>imap_subscribe</function> retourne &true; en cas de - succès, et &false; en cas d'échec. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-undelete"> - <refnamediv> - <refname>imap_undelete</refname> - <refpurpose> - Enlève la marque d'effacement d'un message. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_undelete</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msg_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_undelete</function> enlève la marque d'effacement - du message <parameter>msg_number</parameter>, placée avec - <function>imap_delete</function>. - </para> - <para> - <function>imap_subscribe</function> retourne &true; en cas - de succès, et &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-unsubscribe"> - <refnamediv> - <refname>imap_unsubscribe</refname> - <refpurpose> - Termine la souscription à une boîte aux lettres. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_unsubscribe</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mbox</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_unsubscribe</function> termine la souscription à - la boîte aux lettres <parameter>mbox</parameter>. - </para> - <para> - <function>imap_unsubscribe</function> retourne &true; - en cas de succès, et &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-qprint"> - <refnamediv> - <refname>imap_qprint</refname> - <refpurpose> - Convertit une chaîne à guillemets en une - chaîne à 8 bits. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_qprint</function></funcdef> - <paramdef>string <parameter>string</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_qprint</function> convertit la chaîne à - guillemets <parameter>string</parameter> en une chaîne à - 8 bits. - </para> - <para> - Retourne une chaîne 8 bits (binaire). - </para> - <para> - Voir aussi <function>imap_8bit</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-8bit"> - <refnamediv> - <refname>imap_8bit</refname> - <refpurpose> - Convertit une chaîne à 8 bits en une chaîne à guillemets. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_8bit</function></funcdef> - <paramdef>string <parameter>string</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_8bit</function> convertit la chaîne à 8 bits - en une chaîne à guillemets. - </para> - <para> - Retourne une chaîne à guillemets. - </para> - <para> - Voir aussi <function>imap_qprint</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-binary"> - <refnamediv> - <refname>imap_binary</refname> - <refpurpose> - Convertit une chaîne à 8 bits en une chaîne à base64. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_binary</function></funcdef> - <paramdef>string <parameter>string</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_binary</function> convertit la chaîne à - 8 bits <parameter>string</parameter> en une chaîne à base64. - </para> - <para> - Retourne la chaîne codée. - </para> - <para> - Voir aussi <function>imap_base64</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-scanmailbox"> - <refnamediv> - <refname>imap_scanmailbox</refname> - <refpurpose> - Lis la liste des boîtes aux lettres, et y recherche une chaîne. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_scanmailbox</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>string</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_scanmailbox</function> retourne un tableau contenant - les noms des boîtes aux lettres qui contiennent la chaîne - <parameter>string</parameter>. <function>imap_scanmailbox</function> - est simialaire à <function>imap_listmailbox</function>, - mais va aussi rechercher la chaîne <parameter>string</parameter> dans - dans les données de la boîte aux lettres. Reportez vous à - <function>imap_getmailboxes</function> pour une description des - paramètres <parameter>ref</parameter> et <parameter>pattern</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mailboxmsginfo"> - <refnamediv> - <refname>imap_mailboxmsginfo</refname> - <refpurpose> - Lit les informations à propos de la boîte aux lettres courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_mailboxmsginfo</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_mailboxmsginfo</function> retourne les informations à - propos de la boîte aux lettres courante. Retourne &false; en cas - d'échec. - </para> - <para> - <function>imap_mailboxmsginfo</function> vérifie le statut courant de - la boîte aux lettres sur le serveur, et retourne un objet avec les - propriétés suivantes : - </para> - <para> - <table> - <title>Propriétés de boîte aux lettres</title> - <tgroup cols="2"> - <tbody> - <row> - <entry>Date</entry> - <entry> - Date de dernière modification du contenu de la boîte aux lettres - </entry> - </row> - <row> - <entry>Driver</entry> - <entry>Pilote</entry> - </row> - <row> - <entry>Mailbox</entry> - <entry>Nom de la boîte aux lettres</entry> - </row> - <row> - <entry>Nmsgs</entry> - <entry>Nombre de messages</entry> - </row> - <row> - <entry>Recent</entry> - <entry>Nombre de messages récents</entry> - </row> - <row> - <entry>Unread</entry> - <entry>Nombre de messages non lus</entry> - </row> - <row> - <entry>Deleted</entry> - <entry>Nombre de messages effacés</entry> - </row> - <row> - <entry>Size</entry> - <entry>Taille de la boîte aux lettres</entry> - </row> - </tbody> - </tgroup> - </table> - </para> - <para> - <example> - <title>Exemple avec <function>imap_mailboxmsginfo</function></title> - <programlisting role="php"> -<?php -$mbox = imap_open("{your.imap.host}INBOX","utilisateur", "mot_de_passe") - || die("conexion impossible: ".imap_last_error()); -$check = imap_mailboxmsginfo($mbox); -if($check) { - print "Date: " . $check->Date ."<br>\n" ; - print "Pilote: " . $check->Driver ."<br>\n" ; - print "Mailbox: " . $check->Mailbox ."<br>\n" ; - print "Messages: ". $check->Nmsgs ."<br>\n" ; - print "Récent: " . $check->Recent ."<br>\n" ; - print "Non lus: " . $check->Unread ."<br>\n" ; - print "Effacés: " . $check->Deleted ."<br>\n" ; - print "Taille: " . $check->Size ."<br>\n" ; -} else { - print "imap_check() a échoué: ".imap_last_error(). "<br>\n"; -} -imap_close($mbox); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-rfc822-write-address"> - <refnamediv> - <refname>imap_rfc822_write_address</refname> - <refpurpose> - Retourne une adresse email proprement formatée - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string - <function>imap_rfc822_write_address</function> - </funcdef> - <paramdef>string <parameter>mailbox</parameter></paramdef> - <paramdef>string <parameter>host</parameter></paramdef> - <paramdef>string <parameter>personal</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>mailbox</parameter> retourne une adresse email proprement - formatée, à partir du nom de la boîte aux - lettres de l'hôte <parameter>host</parameter>, et - des informations personnelles <parameter>personal</parameter>. - </para> - <para> - <example> - <title>Exemple avec <function>imap_rfc822_write_address</function></title> - <programlisting role="php"> -<?php -print imap_rfc822_write_address("hartmut","cvs.php.net","Hartmut Holzgraefe")."\n"; -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-rfc822-parse-adrlist"> - <refnamediv> - <refname>imap_rfc822_parse_adrlist</refname> - <refpurpose>Analyse une chaîne d'adresse.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string + </funcprototype> + </funcsynopsis> + <para> + <function>imap_reopen</function> réouvre la connexion spécifiée + au serveur <acronym>IMAP</acronym> ou <acronym>NNTP</acronym>, + avec une nouvelle boîtes aux lettres. + </para> + <para> + Les options sont des masques de bit, qui peuvent contenir les valeurs suivantes : + <itemizedlist> + <listitem> + <simpara> + OP_READONLY - Ouvre une boîte aux lettres en lecture seule + </simpara> + </listitem> + <listitem> + <simpara> + OP_ANONYMOUS - Ne pas utiliser, ou modifier le fichier .newsrc pour les news + </simpara> + </listitem> + <listitem> + <simpara> + OP_HALFOPEN - Pour les noms <acronym>IMAP</acronym> et <acronym>NNTP</acronym>, + ouvre une connexion mais n'ouvre pas une boîte aux lettres. + </simpara> + </listitem> + <listitem> + <simpara> + CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la liste, + lors de la terminaison du flot. (voir <function>imap_delete</function> et + <function>imap_expunge</function>). + </simpara> + </listitem> + </itemizedlist> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-rfc822-parse-adrlist"> + <refnamediv> + <refname>imap_rfc822_parse_adrlist</refname> + <refpurpose>Analyse une chaîne d'adresse.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_rfc822_parse_adrlist</function> </funcdef> - <paramdef>string <parameter>address</parameter></paramdef> - <paramdef>string <parameter>default_host</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>address</parameter> analyse la chaîne - <parameter>address</parameter> et essaie, pour chaque adresse, - de retourner un tableau d'objets. Les 4 objets sont : - </para> - <para> - <itemizedlist> - <listitem> - <simpara> - mailbox - Le nom de la boîte aux lettres - </simpara> - </listitem> - <listitem> - <simpara> - host - le nom de l'hôte - </simpara> - </listitem> - <listitem> - <simpara> - personal - Le nom personnel - </simpara> - </listitem> - <listitem> - <simpara> - adl - at domain source route (NDT : ???). - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - <example> - <title>Exemple avec <function>imap_rfc822_parse_adrlist</function></title> - <programlisting role="php"> + <paramdef>string <parameter>address</parameter></paramdef> + <paramdef>string <parameter>default_host</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <parameter>address</parameter> analyse la chaîne + <parameter>address</parameter> et essaie, pour chaque adresse, + de retourner un tableau d'objets. Les 4 objets sont : + </para> + <para> + <itemizedlist> + <listitem> + <simpara> + mailbox - Le nom de la boîte aux lettres + </simpara> + </listitem> + <listitem> + <simpara> + host - le nom de l'hôte + </simpara> + </listitem> + <listitem> + <simpara> + personal - Le nom personnel + </simpara> + </listitem> + <listitem> + <simpara> + adl - at domain source route (NDT : ???). + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + <example> + <title>Exemple avec <function>imap_rfc822_parse_adrlist</function></title> + <programlisting role="php"> <?php $address_string = "Hartmut Holzgraefe <hartmut@cvs.php.net>, postmaster@somedomain.net, root"; $address_array = imap_rfc822_parse_adrlist($address_string,"somedomain.net"); if(! is_array($address_array)) die("une erreur...\n"); reset($address_array); while(list($key,$val)=each($address_array)){ - print "boîte : ".$val->mailbox."<br>\n"; - print "hôte : ".$val->host."<br>\n"; - print "personnel: ".$val->personal."<br>\n"; - print "adl : ".$val->adl."<p>\n"; + print "boîte : ".$val->mailbox."<br>\n"; + print "hôte : ".$val->host."<br>\n"; + print "personnel: ".$val->personal."<br>\n"; + print "adl : ".$val->adl."<p>\n"; } ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-setflag-full"> - <refnamediv> - <refname>imap_setflag_full</refname> - <refpurpose>Positionne un flag sur un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_setflag_full</function></funcdef> - <paramdef>int <parameter>stream</parameter></paramdef> - <paramdef>string <parameter>sequence</parameter></paramdef> - <paramdef>string <parameter>flag</parameter></paramdef> - <paramdef>string <parameter>options</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_setflag_full</function> affecte le flag spécifié - aux messages de la sequence donné. - </para> - <para> - Les flags que vous pouvez modifier sont "\\Seen", "\\Answered", - "\\Flagged", "\\Deleted", "\\Draft" et "\\Recent" (comme défini dans - la RFC2060). - </para> - <para> - Les options sont un masque de bits, et peuvent contenir les valeurs suivantes : - <informalexample> - <literallayout> - ST_UID la séquence contient des UIDs au lieu de numéro - de séquence. - </literallayout> - </informalexample> - </para> - <para> - <example> - <title>Exemple avec <function>imap_setflag_full</function></title> - <programlisting role="php"> -<?php -$mbox = imap_open("{your.imap.host:143}","utilisateur","mot_de_passe") - || die("can't connect: ".imap_last_error()); -$status = imap_setflag_full($mbox,"2,5","\\Seen \\Flagged"); -print gettype($status)."\n"; -print $status."\n"; -imap_close($mbox); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-clearflag-full"> - <refnamediv> - <refname>imap_clearflag_full</refname> - <refpurpose>Supprime un flag sur un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string - <function>imap_clearflag_full</function> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-rfc822-parse-headers"> + <refnamediv> + <refname>imap_rfc822_parse_headers</refname> + <refpurpose>Analyse une en-tête mail</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_rfc822_parse_headers</function></funcdef> + <paramdef>string <parameter>headers</parameter></paramdef> + <paramdef>string + <parameter><optional>defaulthost</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_rfc822_parse_headers</function> analyse la chaîne + <parameter>headers</parameter>, et retourne un objet contenant + differents éléments, similaires à la fonction + <function>imap_header</function>, hormis les flags, et autres + éléments liés au serveur <acronym>IMAP</acronym>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-rfc822-write-address"> + <refnamediv> + <refname>imap_rfc822_write_address</refname> + <refpurpose> + Retourne une adresse email proprement formatée + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string + <function>imap_rfc822_write_address</function> </funcdef> - <paramdef>int <parameter>stream</parameter></paramdef> - <paramdef>string <parameter>sequence</parameter></paramdef> - <paramdef>string <parameter>flag</parameter></paramdef> - <paramdef>string <parameter>options</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>stream</parameter> efface le flag spécifié dans - les messages de la séquence <parameter>sequence</parameter>. - </para> - <para> - Les options sont un masque de bit, qui accepte les valeurs suivantes : - <informalexample> - <literallayout> - ST_UID : la séquence contient des UIDs au lieu de numéro - de séquence - </literallayout> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-sort"> - <refnamediv> - <refname>imap_sort</refname> - <refpurpose>Trie des messages.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_sort</function></funcdef> - <paramdef>int <parameter>stream</parameter></paramdef> - <paramdef>int <parameter>criteria</parameter></paramdef> - <paramdef>int <parameter>reverse</parameter></paramdef> - <paramdef>int <parameter>options</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_sort</function> retourne un tableau de nombre de message, - triés suivant les paramètres suivants : - </para> - <para> - <parameter>reverse</parameter> vaut 1 pour signifier : tri inverse. - </para> - <para> - Les critères peuvent être un (et un seul) parmis les suivants : - <informalexample> - <literallayout> - 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 - </literallayout> - </informalexample> - </para> - <para> - Les flags dont des masques de bits, d'un ou plusieurs des éléments - suivants : - <informalexample> - <literallayout> - 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. - </literallayout> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-fetchheader"> - <refnamediv> - <refname>imap_fetchheader</refname> - <refpurpose>Retourne l'entête d'un message.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_fetchheader</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msgno</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_fetchheader</function> retourne l'entête brut et - complet RFC 822 du message <parameter>msgno</parameter>, et le retourne - sous la forme d'une chaîne. - </para> - <para> - Les options sont : - <informalexample> - <literallayout> - FT_UID L'argument <parameter>msgno</parameter> 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 <acronym>IMAP</acronym>, si - le message complet est souhaité. (e.g. dans une opération - de sauvegarde dans un fichier). - </literallayout> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-uid"> - <refnamediv> - <refname>imap_uid</refname> - <refpurpose> - Retourne l' UID d'un message. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_uid</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>msgno</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_uid</function> retourne l'UID pour le message - <parameter>msgno</parameter>. Un UID est un identifant unique - que ne change jamais, alors que le numéro du message dans - la lsite des messages peut changer à toute modification - de la boîte aux lettres. C'est la fonction contraire de - <function>imap_msgno</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-msgno"> - <refnamediv> - <refname>imap_msgno</refname> - <refpurpose> - Retourne le numéro de séquence de message pour un UID donné. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imap_msgno</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>int <parameter>uid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_msgno</function> retourne le numéro de séquence - de message pour l'UID <parameter>uid</parameter>. - C'est la fonction contraire de <function>imap_uid</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-search"> - <refnamediv> - <refname>imap_search</refname> - <refpurpose> - Retourne un tableau de message après recherche. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_search</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>criteria</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_search</function> effectue une recherche dans la boîte aux - lettres courantes, sur le flot <acronym>IMAP</acronym> courant. - <parameter>criteria</parameter> 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 : - <itemizedlist> - <listitem> - <simpara> - ALL - retourne tous les message qui vérifie le reste du critère. - </simpara> - </listitem> - <listitem> - <simpara> - ANSWERED - tous les messages avec le flag \\ANSWERED - </simpara> - </listitem> - <listitem> - <simpara> - BCC "string" - tous les messages avec la chaîne "string" dans le - champs Bcc: - </simpara> - </listitem> - <listitem> - <simpara> - BEFORE "date" - tous les messages avec Date: avant "date" - </simpara> - </listitem> - <listitem> - <simpara> - BODY "string" - tous les messages avec "string" dans le corps - </simpara> - </listitem> - <listitem> - <simpara> - CC "string" - tous les messages avec "string" dans le champs Cc: - </simpara> - </listitem> - <listitem> - <simpara> - DELETED - tous les messages effacés - </simpara> - </listitem> - <listitem> - <simpara> - FLAGGED - tous les messages avec le flag \\FLAGGED (parfois - interprété comme Important ou Urgent) - </simpara> - </listitem> - <listitem> - <simpara> - FROM "string" - tous les messages avec la chaîne "string" dan le - champs From: - </simpara> - </listitem> - <listitem> - <simpara> - KEYWORD "string" - tous les messags avec la chaîne "string" comme mot clé - </simpara> - </listitem> - <listitem> - <simpara> - NEW - tous les nouveaux messages - </simpara> - </listitem> - <listitem> - <simpara> - OLD - tous les anciens messages - </simpara> - </listitem> - <listitem> - <simpara> - ON "date" - tous les messages avec la date "date" comme champs Date: - </simpara> - </listitem> - <listitem> - <simpara> - RECENT - tous les messages avec le flag \\RECENT - </simpara> - </listitem> - <listitem> - <simpara> - SEEN - tous les messages lus (avec le flag\\SEEN flag) - </simpara> - </listitem> - <listitem> - <simpara> - SINCE "date" - tous les messages avec la date Date: après "date" - </simpara> - </listitem> - <listitem> - <simpara> - SUBJECT "string" - tous les messages avec la chaîne "string" - dans le champs Subject: - </simpara> - </listitem> - <listitem> - <simpara> - TEXT "string" - tous les messages avec le texte "string" - </simpara> - </listitem> - <listitem> - <simpara> - TO "string" - tous les messages avec la chaîne "string" dans le - champs To: - </simpara> - </listitem> - <listitem> - <simpara> - UNANSWERED - tous les messages non répondus - </simpara> - </listitem> - <listitem> - <simpara> - UNDELETED - tous les messages non effacés - </simpara> - </listitem> - <listitem> - <simpara> - UNFLAGGED - tous les messages non flaggés - </simpara> - </listitem> - <listitem> - <simpara> - UNKEYWORD "string" - tous les messages dans le mot clés "string" - </simpara> - </listitem> - <listitem> - <simpara> - UNSEEN - tous les messages non lus - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - 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. (voir aussi RFC2060, section 6.4.4). - </para> - <para> - 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. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-last-error"> - <refnamediv> - <refname>imap_last_error</refname> - <refpurpose> - Retourne la dernière erreur (si elle existe) qui est survenu lors - de la dernière requête. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_last_error</function></funcdef> - <paramdef>void </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_last_error</function> retourne le texte complet de la - dernière erreur <acronym>IMAP</acronym> (si elle existe) qui - est survenu lors de la dernière requête. La pile d'erreur - n'est pas touchée. Appeler <function>imap_last_error</function> - successivement dans nouvelles erreurs retournera la même erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-errors"> - <refnamediv> - <refname>imap_errors</refname> - <refpurpose> - Retourne toutes les erreurs (si elles existent). - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_errors</function></funcdef> - <paramdef>void </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_errors</function> retourne tous les messages d'erreurs - <acronym>IMAP</acronym> générés depuis le dernier - appel à <function>imap_errors</function>, ou depuis le - début de la page. Lorsque <function>imap_errors</function> est - appelés, la pile d'erreur est vidée. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-alerts"> - <refnamediv> - <refname>imap_alerts</refname> - <refpurpose> - Retourne toutes les alertes - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_alerts</function></funcdef> - <paramdef>void </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_alerts</function> retourne tous les messages d'alerte - <acronym>IMAP</acronym> générés depuis le dernier - appel à <function>imap_alerts</function> ou depuis le début - de la page. Lorsque <function>imap_alerts</function> est appelé, la - pile d'alertes est vidée. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-status"> - <refnamediv> - <refname>imap_status</refname> - <refpurpose> - Retourne les informations de statut sur une boîte aux lettres - autres que la boîte courante. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>imap_status</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>mailbox</parameter></paramdef> - <paramdef>int <parameter>options</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_status</function> retourne un objet contenant les informations - de statut. Les options valables sont : - <itemizedlist> - <listitem> - <simpara> - SA_MESSAGES - met la valeur de status->messages au nombre de messages dans la - boîtes aux lettres. - </simpara> - </listitem> - <listitem> - <simpara> - SA_RECENT - met la valeur destatus->recent au nombre de messages - récents dans la boîte aux lettres. - </simpara> - </listitem> - <listitem> - <simpara> - SA_UNSEEN - met la valeur de status->unseen au nombre de messages - non lus dans la boîte aux lettres. - </simpara> - </listitem> - <listitem> - <simpara> - SA_UIDNEXT - met la valeur de status->uidnext à la prochaîne - valeur d'uid qui sera utilisée. - </simpara> - </listitem> - <listitem> - <simpara> - 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. - </simpara> - </listitem> - <listitem> - <simpara> - SA_ALL - fixe les valeurs de de toutes les précédents. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - status->flags est aussi fixé : c'est un masque de bit qui - peut contenir tous les flags ci dessus. - </para> - <para> - <example> - <title>Exemple <function>imap_status</function></title> - <programlisting role="php"> + <paramdef>string <parameter>mailbox</parameter></paramdef> + <paramdef>string <parameter>host</parameter></paramdef> + <paramdef>string <parameter>personal</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <parameter>mailbox</parameter> retourne une adresse email proprement + formatée, à partir du nom de la boîte aux + lettres de l'hôte <parameter>host</parameter>, et + des informations personnelles <parameter>personal</parameter>. + </para> + <para> + <example> + <title>Exemple avec <function>imap_rfc822_write_address</function></title> + <programlisting role="php"> <?php -$mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) - || die("can't connect: ".imap_last_error()); -$status = imap_status($mbox,"{your.imap.host}INBOX",SA_ALL); -if($status) { - print("Messages: ". $status->messages )."<br>\n"; - print("Récents: ". $status->recent )."<br>\n"; - print("Non lus: ". $status->unseen )."<br>\n"; - print("UIDnext: ". $status->uidnext )."<br>\n"; - print("UIDvalidité:". $status->uidvalidity)."<br>\n"; -} else - print "imap_status a échoué : ".imap_lasterror()."\n"; -imap_close($mbox); +print imap_rfc822_write_address("hartmut","cvs.php.net","Hartmut Holzgraefe")."\n"; ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-utf7-decode"> - <refnamediv> - <refname>imap_utf7_decode</refname> - <refpurpose> - Décode une chaîne modifiée UTF-7. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_utf7_decode</function></funcdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_utf7_decode</function> décode la chaîne UTF-7 - <parameter>text</parameter> en données 8 bits. - </para> - <para> - <function>imap_utf7_decode</function> retourne les données - 8bits décodées, ou &false; si la chaîne <parameter>text</parameter> - n'est pas au format UTF-7. Cette fonction sert à décoder des noms - de boîtes aux lettres qui contiennent des caractères internationaux - hors de l'espace ASCII. Le standard UTF-7 est défini - dans la <ulink url="&url.rfc;rfc2060.html">RFC 2060</ulink>, section - 5.1.3 (l'original UTF-7 a été défini dans <ulink - url="&url.rfc;rfc1642.html">RFC1642</ulink>). - </para> - </refsect1> - </refentry> - <refentry id="function.imap-utf7-encode"> - <refnamediv> - <refname>imap_utf7_encode</refname> - <refpurpose> - Convertie des données 8bit en texte UTF-7. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_utf7_encode</function></funcdef> - <paramdef>string <parameter>data</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_utf7_encode</function> retourne les données - <parameter>data</parameter> 8bits encodées, ou &false; si une erreur est - survenue. Cette fonction sert à encoder des noms de boîtes aux lettres qui - contiennent des caractères internationaux - hors de l'espace ASCII. Le standard UTF-7 est défini - dans la <ulink url="&url.rfc;rfc2060.html">RFC 2060</ulink>, section - 5.1.3 (l'original UTF-7 a été défini dans <ulink - url="&url.rfc;rfc1642.html">RFC1642</ulink>). - </para> - <para> - Retourne un texte UTF-7. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-utf8"> - <refnamediv> - <refname>imap_utf8</refname> - <refpurpose> - Convertit du texte en UTF8 - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_utf8</function></funcdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_utf8</function> convertit le texte <parameter>text</parameter> - en UTF8 (comme défini dans <ulink url="&url.rfc;rfc2044.html">RFC2044</ulink>). - </para> - </refsect1> - </refentry> - <refentry id="function.imap-fetch-overview"> - <refnamediv> - <refname>imap_fetch_overview</refname> - <refpurpose> - Lit un sommaire des entêtes de messages - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_fetch_overview</function></funcdef> - <paramdef>resource <parameter>imap_stream</parameter></paramdef> - <paramdef>string <parameter>sequence</parameter></paramdef> - <paramdef>int <parameter><optional>flags</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_fetch_overview</function> lit les entêtes des messages - mails de la séquence <parameter>sequence</parameter> et retourne - un sommaire de leur contenu. <parameter>sequence</parameter> va contenir - une séquence d'indice de message ou d'UIDs, si <parameter>flags</parameter> - cotient FT_UID. La valeur retournée est un tableau d'objets, un par - message d'entête décrit : - <itemizedlist> - <listitem> - <simpara> - subject - Le sujet du message - </simpara> - </listitem> - <listitem> - <simpara> - from - Expéditeur - </simpara> - </listitem> - <listitem> - <simpara> - date - Date d'expédition - </simpara> - </listitem> - <listitem> - <simpara> - message_id - Identification du message - </simpara> - </listitem> - <listitem> - <simpara> - references - est une référence sur l'id de ce message - </simpara> - </listitem> - <listitem> - <simpara> - size - taille en octets - </simpara> - </listitem> - <listitem> - <simpara> - uid - UID du message dans la boîte aux lettres - </simpara> - </listitem> - <listitem> - <simpara> - msgno - numéro de séquence du message dans la boîte - </simpara> - </listitem> - <listitem> - <simpara> - recent - Ce message est récent - </simpara> - </listitem> - <listitem> - <simpara> - flagged - Ce message est marqué - </simpara> - </listitem> - <listitem> - <simpara> - answered - Ce message a donné lieu à une réponse - </simpara> - </listitem> - <listitem> - <simpara> - deleted - Ce message est marqué pour l'effacement - </simpara> - </listitem> - <listitem> - <simpara> - seen - Ce message est déjà lu - </simpara> - </listitem> - <listitem> - <simpara> - draft - Ce message est un brouillon - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - <example> - <title>Exemple avec <function>imap_fetch_overview</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-scanmailbox"> + <refnamediv> + <refname>imap_scanmailbox</refname> + <refpurpose> + Lit la liste des boîtes aux lettres, et y recherche une chaîne. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_scanmailbox</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>string</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_scanmailbox</function> retourne un tableau contenant + les noms des boîtes aux lettres qui contiennent la chaîne + <parameter>string</parameter>. <function>imap_scanmailbox</function> + est simialaire à <function>imap_listmailbox</function>, + mais va aussi rechercher la chaîne <parameter>string</parameter> dans + dans les données de la boîte aux lettres. Reportez-vous à + <function>imap_getmailboxes</function> pour une description des + paramètres <parameter>ref</parameter> et <parameter>pattern</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-search"> + <refnamediv> + <refname>imap_search</refname> + <refpurpose> + Retourne un tableau de message après recherche. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>imap_search</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>criteria</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_search</function> effectue une recherche dans la boîte aux + lettres courante, sur le flot <acronym>IMAP</acronym> courant. + <parameter>criteria</parameter> 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 : + <itemizedlist> + <listitem> + <simpara> + ALL - retourne tous les message qui vérifie le reste du critère. + </simpara> + </listitem> + <listitem> + <simpara> + ANSWERED - tous les messages avec le flag \\ANSWERED + </simpara> + </listitem> + <listitem> + <simpara> + BCC "string" - tous les messages avec la chaîne "string" dans le + champs Bcc: + </simpara> + </listitem> + <listitem> + <simpara> + BEFORE "date" - tous les messages avec Date: avant "date" + </simpara> + </listitem> + <listitem> + <simpara> + BODY "string" - tous les messages avec "string" dans le corps + </simpara> + </listitem> + <listitem> + <simpara> + CC "string" - tous les messages avec "string" dans le champs Cc: + </simpara> + </listitem> + <listitem> + <simpara> + DELETED - tous les messages effacés + </simpara> + </listitem> + <listitem> + <simpara> + FLAGGED - tous les messages avec le flag \\FLAGGED (parfois + interprété comme Important ou Urgent) + </simpara> + </listitem> + <listitem> + <simpara> + FROM "string" - tous les messages avec la chaîne "string" dan le + champs From: + </simpara> + </listitem> + <listitem> + <simpara> + KEYWORD "string" - tous les messags avec la chaîne "string" comme mot clé + </simpara> + </listitem> + <listitem> + <simpara> + NEW - tous les nouveaux messages + </simpara> + </listitem> + <listitem> + <simpara> + OLD - tous les anciens messages + </simpara> + </listitem> + <listitem> + <simpara> + ON "date" - tous les messages avec la date "date" comme champs Date: + </simpara> + </listitem> + <listitem> + <simpara> + RECENT - tous les messages avec le flag \\RECENT + </simpara> + </listitem> + <listitem> + <simpara> + SEEN - tous les messages lus (avec le flag\\SEEN flag) + </simpara> + </listitem> + <listitem> + <simpara> + SINCE "date" - tous les messages avec la date Date: après "date" + </simpara> + </listitem> + <listitem> + <simpara> + SUBJECT "string" - tous les messages avec la chaîne "string" + dans le champs Subject: + </simpara> + </listitem> + <listitem> + <simpara> + TEXT "string" - tous les messages avec le texte "string" + </simpara> + </listitem> + <listitem> + <simpara> + TO "string" - tous les messages avec la chaîne "string" dans le + champs To: + </simpara> + </listitem> + <listitem> + <simpara> + UNANSWERED - tous les messages non répondus + </simpara> + </listitem> + <listitem> + <simpara> + UNDELETED - tous les messages non effacés + </simpara> + </listitem> + <listitem> + <simpara> + UNFLAGGED - tous les messages non flaggés + </simpara> + </listitem> + <listitem> + <simpara> + UNKEYWORD "string" - tous les messages dans le mot clés "string" + </simpara> + </listitem> + <listitem> + <simpara> + UNSEEN - tous les messages non lus + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + 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. (voir aussi RFC2060, section 6.4.4). + </para> + <para> + 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. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-set-quota"> + <refnamediv> + <refname>imap_set_quota</refname> + <refpurpose>Modifie le quota d'une boîte aux lettres</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_set_quota</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>quota_root</parameter></paramdef> + <paramdef>int <parameter>quota_limit</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_set_quota</function> modifie le quota de la + boîte aux lettres <parameter>quota_root</parameter>, en la + fixant à <parameter>quota_limit</parameter>. <function>imap_set_quota</function> + requiert que <parameter>imap_stream</parameter> ait été + ouvert avec un compte d'administrateur, pour avoir les droits + nécessaires : elle ne fonctionnera avec aucun autre + utilisateur. + </para> + <para> + <function>imap_get_quota</function> ne fonctionne actuellement qu'avec + les librairies c-client2000. + </para> + <para> + <parameter>imap_stream</parameter> doit avoir été créé + avec la fonction <function>imap_open</function>. Ce flot est + nécessairement ouvert en tant qu'administrateur du serveur, pour que + les droits nécessaires lui soit alloué. + <parameter>quota_root</parameter> doit être de la forme : + "<literal>user.nom</literal>", où "nom" est le nom de la + boîte aux lettres que vous souhaitez analyser. + <parameter>quota_limit</parameter> est la nouvelle taille + maximum (en ko) de la boîte <parameter>quota_root</parameter>. + </para> + <para> + <function>imap_set_quota</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + <example> + <title>Exemple avec <function>imap_set_quota</function></title> + <programlisting role="php"> <?php -$mbox = imap_open("{your.imap.host:143}","utilisateur","mot_de_passe") - || die("connexion impossible : ".imap_last_error()); -$overview = imap_fetch_overview($mbox,"2,4:6",0); -if(is_array($overview)) { - reset($overview); - while( list($key,$val) = each($overview)) { - print $val->msgno - . " - " . $val->date - . " - " . $val->subject - . "\n"; - } +$mbox = imap_open ("{votre.hote.imap:143}", "mailadmin", "mot de passe"); +if(!imap_set_quota($mbox, "user.toto", 3000)) { + print "Erreur lors de la modification des quotas\n"; + return; } imap_close($mbox); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mime-header-decode"> - <refnamediv> - <refname>imap_mime_header_decode</refname> - <refpurpose>Décode les éléments MIME d'un entête</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imap_mime_header_decode</function></funcdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_mime_header_decode</function> décode un message - MIME qui contient des données non ASCII - (Voir <ulink url="&url.rfc;rfc2047.html">RFC2047</ulink>) - Les éléments décodés sont retournés dans un tableau - d'objets. Chacun de ces objets a deux propriétés : - "charset" & "text". Si l'élément n'a pas été encodé, - ou, en d'autres termes, sil il est en clair (plain US_ASCII), - la propriété "charset" est mise à "default". - </para> - <para> - <example> - <title>Exemple <function>imap_mime_header_decode</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + <para> + Voir aussi <function>imap_open</function> et + <function>imap_set_quota</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-setflag-full"> + <refnamediv> + <refname>imap_setflag_full</refname> + <refpurpose>Positionne un flag sur un message.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_setflag_full</function></funcdef> + <paramdef>int <parameter>stream</parameter></paramdef> + <paramdef>string <parameter>sequence</parameter></paramdef> + <paramdef>string <parameter>flag</parameter></paramdef> + <paramdef>string <parameter>options</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_setflag_full</function> affecte le flag spécifié + aux messages de la sequence donné. + </para> + <para> + Les flags que vous pouvez modifier sont "\\Seen", "\\Answered", + "\\Flagged", "\\Deleted", "\\Draft" et "\\Recent" (comme défini dans + la RFC2060). + </para> + <para> + Les options sont un masque de bits, et peuvent contenir les valeurs suivantes : + <informalexample> + <literallayout> + ST_UID la séquence contient des UIDs au lieu de numéro + de séquence. + </literallayout> + </informalexample> + </para> + <para> + <example> + <title>Exemple avec <function>imap_setflag_full</function></title> + <programlisting role="php"> <?php -$text="=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>"; -$elements=imap_mime_header_decode($text); -for($i=0;$i<count($elements);$i++) { - echo "Charset: {$elements[$i]->charset}\n"; - echo "Texte: {$elements[$i]->text}\n\n"; -} +$mbox = imap_open("{votre.hote.imap:143}","utilisateur","mot_de_passe") + or die("can't connect: ".imap_last_error()); +$status = imap_setflag_full($mbox,"2,5","\\Seen \\Flagged"); +print gettype($status)."\n"; +print $status."\n"; +imap_close($mbox); ?> - </programlisting> - </example> - </para> - <para> - Dans l'exemple ci dessus, on trouve deux éléments : le premier - a été encodé en ISO-8859-1, et le second est en clair. - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mail-compose"> - <refnamediv> - <refname>imap_mail_compose</refname> - <refpurpose> - Crée un message MIME - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_mail_compose</function></funcdef> - <paramdef>array <parameter>envelope</parameter></paramdef> - <paramdef>array <parameter>body</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - </para> - <para> - <example> - <title>Exemple <function>imap_mail_compose</function></title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-sort"> + <refnamediv> + <refname>imap_sort</refname> + <refpurpose>Trie des messages.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_sort</function></funcdef> + <paramdef>int <parameter>stream</parameter></paramdef> + <paramdef>int <parameter>criteria</parameter></paramdef> + <paramdef>int <parameter>reverse</parameter></paramdef> + <paramdef>int <parameter>options</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_sort</function> retourne un tableau de nombre de message, + triés suivant les paramètres suivants : + </para> + <para> + <parameter>reverse</parameter> vaut 1 pour signifier : tri inverse. + </para> + <para> + Les critères peuvent être un (et un seul) parmi les suivants : + <informalexample> + <literallayout> + 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 + </literallayout> + </informalexample> + </para> + <para> + Les flags dont des masques de bits, d'un ou plusieurs des éléments + suivants : + <informalexample> + <literallayout> + 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. + </literallayout> + </informalexample> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-status"> + <refnamediv> + <refname>imap_status</refname> + <refpurpose> + Retourne les informations de statut sur une boîte aux lettres + autres que la boîte courante. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>object <function>imap_status</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mailbox</parameter></paramdef> + <paramdef>int <parameter>options</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_status</function> retourne un objet contenant les informations + de statut. Les options valables sont : + <itemizedlist> + <listitem> + <simpara> + SA_MESSAGES - met la valeur de status->messages au nombre de messages dans la + boîtes aux lettres. + </simpara> + </listitem> + <listitem> + <simpara> + SA_RECENT - met la valeur destatus->recent au nombre de messages + récents dans la boîte aux lettres. + </simpara> + </listitem> + <listitem> + <simpara> + SA_UNSEEN - met la valeur de status->unseen au nombre de messages + non lus dans la boîte aux lettres. + </simpara> + </listitem> + <listitem> + <simpara> + SA_UIDNEXT - met la valeur de status->uidnext à la prochaine + valeur d'uid qui sera utilisée. + </simpara> + </listitem> + <listitem> + <simpara> + 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. + </simpara> + </listitem> + <listitem> + <simpara> + SA_ALL - fixe les valeurs de de toutes les précédents. + </simpara> + </listitem> + </itemizedlist> + </para> + <para> + status->flags est aussi fixé : c'est un masque de bit qui + peut contenir tous les flags ci-dessus. + </para> + <para> + <example> + <title>Exemple <function>imap_status</function></title> + <programlisting role="php"> <?php -$envelope["from"]="musone@afterfive.com"; -$envelope["to"]="musone@darkstar"; -$envelope["cc"]="musone@edgeglobal.com"; -$part1["type"]=TYPEMULTIPART; -$part1["subtype"]="mixed"; -$filename="/tmp/imap.c.gz"; -$fp=fopen($filename,"r"); -$contents=fread($fp,filesize($filename)); -fclose($fp); -$part2["type"]=TYPEAPPLICATION; -$part2["encoding"]=ENCBINARY; -$part2["subtype"]="octet-stream"; -$part2["description"]=basename($filename); -$part2["contents.data"]=$contents; -$part3["type"]=TYPETEXT; -$part3["subtype"]="plain"; -$part3["description"]="description3"; -$part3["contents.data"]="contents.data3\n\n\n\t"; -$body[1]=$part1; -$body[2]=$part2; -$body[3]=$part3; -echo nl2br(imap_mail_compose($envelope,$body)); + $mbox = imap_open("{your.imap.host}","utilisateur","mot_de_passe",OP_HALFOPEN) + or die("can't connect: ".imap_last_error()); + $status = imap_status($mbox,"{your.imap.host}INBOX",SA_ALL); + if($status) { + print("Messages: ". $status->messages )."<br>\n"; + print("Récents: ". $status->recent )."<br>\n"; + print("Non lus: ". $status->unseen )."<br>\n"; + print("UIDnext: ". $status->uidnext )."<br>\n"; + print("UIDvalidité:". $status->uidvalidity)."<br>\n"; + } else { + print "imap_status a échoué : ".imap_last_error()."\n"; + } + imap_close($mbox); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imap-mail"> - <refnamediv> - <refname>imap_mail</refname> - <refpurpose> - Envoie un message mail - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>imap_mail</function></funcdef> - <paramdef>string <parameter>to</parameter></paramdef> - <paramdef>string <parameter>subject</parameter></paramdef> - <paramdef>string <parameter>message</parameter></paramdef> - <paramdef>string - <parameter><optional>additional_headers</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>cc</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>bcc</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>rpath</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imap_mail</function> est uniquement disponible sous PHP 3. - </para> - </refsect1> - </refentry> - </reference> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.imap-subscribe"> + <refnamediv> + <refname>imap_subscribe</refname> + <refpurpose>Souscrit à une boîte aux lettres.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_subscribe</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_subscribe</function> souscrit à la boîte aux + lettres <parameter>mbox</parameter>. + </para> + <para> + <function>imap_subscribe</function> retourne <literal>TRUE</literal> en cas de + succès, et <literal>FALSE</literal> en cas d'échec. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-uid"> + <refnamediv> + <refname>imap_uid</refname> + <refpurpose> + Retourne l'UID d'un message. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_uid</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msgno</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_uid</function> retourne l'UID pour le message + <parameter>msgno</parameter>. Un UID est un identifant unique + que ne change jamais, alors que le numéro du message dans + la lsite des messages peut changer à toute modification + de la boîte aux lettres. C'est la fonction contraire de + <function>imap_msgno</function>. + </para> + <note> + <para> + Cette fonctionnalité n'est pas supportées par les boîtes aux lettres + POP3. + </para> + </note> + </refsect1> + </refentry> + <refentry id="function.imap-undelete"> + <refnamediv> + <refname>imap_undelete</refname> + <refpurpose> + Enlève la marque d'effacement d'un message. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_undelete</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>int <parameter>msg_number</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_undelete</function> enlève la marque d'effacement + du message <parameter>msg_number</parameter>, placée avec + <function>imap_delete</function>. + </para> + <para> + <function>imap_subscribe</function> retourne <literal>TRUE</literal> en cas + de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-unsubscribe"> + <refnamediv> + <refname>imap_unsubscribe</refname> + <refpurpose> + Termine la souscription à une boîte aux lettres. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>imap_unsubscribe</function></funcdef> + <paramdef>resource <parameter>imap_stream</parameter></paramdef> + <paramdef>string <parameter>mbox</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_unsubscribe</function> termine la souscription à + la boîte aux lettres <parameter>mbox</parameter>. + </para> + <para> + <function>imap_unsubscribe</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-utf7-decode"> + <refnamediv> + <refname>imap_utf7_decode</refname> + <refpurpose> + Décode une chaîne modifiée UTF-7. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_utf7_decode</function></funcdef> + <paramdef>string <parameter>text</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_utf7_decode</function> décode la chaîne UTF-7 + <parameter>text</parameter> en données 8 bits. + </para> + <para> + <function>imap_utf7_decode</function> retourne les données + 8bits décodées, ou <literal>FALSE</literal> si la chaîne + <parameter>text</parameter> n'est pas au format UTF-7. Cette fonction sert + à décoder des noms de boîtes aux lettres qui contiennent + des caractères internationaux hors de l'espace ASCII. Le standard + UTF-7 est défini dans la + <ulink url="&url.rfc;rfc2060.html">RFC 2060</ulink>, section + 5.1.3 (l'original UTF-7 a été défini dans + <ulink url="&url.rfc;rfc1642.html">RFC1642</ulink>). + </para> + </refsect1> + </refentry> + <refentry id="function.imap-utf7-encode"> + <refnamediv> + <refname>imap_utf7_encode</refname> + <refpurpose> + Convertit des données 8bit en texte UTF-7. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_utf7_encode</function></funcdef> + <paramdef>string <parameter>data</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_utf7_encode</function> retourne les données + <parameter>data</parameter> 8bits encodées, ou <literal>FALSE</literal> + si une erreur est + survenue. Cette fonction sert à encoder des noms de boîtes aux lettres qui + contiennent des caractères internationaux + hors de l'espace ASCII. Le standard UTF-7 est défini + dans la <ulink url="&url.rfc;rfc2060.html">RFC 2060</ulink>, section + 5.1.3 (l'original UTF-7 a été défini dans <ulink + url="&url.rfc;rfc1642.html">RFC1642</ulink>). + </para> + <para> + <function>imap_utf7_encode</function> retourne un texte UTF-7. + </para> + </refsect1> + </refentry> + <refentry id="function.imap-utf8"> + <refnamediv> + <refname>imap_utf8</refname> + <refpurpose> + Convertit du texte en UTF8 + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>imap_utf8</function></funcdef> + <paramdef>string <parameter>text</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>imap_utf8</function> convertit le texte <parameter>text</parameter> + en UTF8 (comme défini dans <ulink url="&url.rfc;rfc2044.html">RFC2044</ulink>). + </para> + </refsect1> + </refentry> +</reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml