Files
doc-fr/reference/imap/functions/imap-open.xml
2022-05-27 17:46:58 -04:00

413 lines
14 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 34892f82742329af7e7b4b22be6ad21418fd9768 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.imap-open" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>imap_open</refname>
<refpurpose>Ouvre un flux <acronym>IMAP</acronym> vers une boîte aux lettres</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>IMAP\Connection</type><type>false</type></type><methodname>imap_open</methodname>
<methodparam><type>string</type><parameter>mailbox</parameter></methodparam>
<methodparam><type>string</type><parameter>user</parameter></methodparam>
<methodparam><type>string</type><parameter>password</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>retries</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
<para>
Ouvre un flux <acronym>IMAP</acronym> vers la boîte aux lettres
<parameter>mailbox</parameter>.
</para>
<para>
Cette fonction peut aussi être utilisée pour ouvrir des flots sur des
serveurs <acronym>POP3</acronym> et <acronym>NNTP</acronym>
mais quelques fonctions et fonctionnalités ne sont disponibles qu'avec
les serveurs <acronym>IMAP</acronym>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>mailbox</parameter></term>
<listitem>
<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é
<literal>INBOX</literal> représente la boîte aux lettres de
l'utilisateur courant. 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>
&imap.mailboxname.insecure;
<para>
L'adresse du serveur, mise entre accolades '{' et '}', est constituée
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 ':').
</para>
<para>
Cette partie est obligatoire dans les paramètres de la boîte aux
lettres.
</para>
<para>
Tous les noms commençant par <literal>{</literal> sont des noms distants et sont sous
la forme <literal>"{" nom_systeme_distant [":" port] [flags] "}"
[nom_mailbox]</literal> où :
<itemizedlist>
<listitem>
<simpara>
<literal>remote_system_name</literal> : Nom de domaine Internet ou une
adresse IP de serveur entouré de guillemets.
</simpara>
</listitem>
<listitem>
<simpara>
<literal>port</literal> : numéro de port TCP (optionnel),
la valeur par défaut est la valeur du port pour ce service.
</simpara>
</listitem>
<listitem>
<simpara>
<literal>flags</literal> : options, voir la table suivante.
</simpara>
</listitem>
<listitem>
<simpara>
<literal>mailbox_name</literal> : nom de la mailbox distante, par défaut : INBOX
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
<table>
<title>Flags optionnels pour les noms</title>
<tgroup cols="2">
<thead>
<row>
<entry>Flag</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>/service=</literal><emphasis>service</emphasis></entry>
<entry>service pour l'accès à la mailbox, par défaut : "imap"</entry>
</row>
<row>
<entry><literal>/user=</literal><emphasis>user</emphasis></entry>
<entry>nom de l'utilisateur distant pour l'identification sur le serveur</entry>
</row>
<row>
<entry><literal>/authuser=</literal><emphasis>user</emphasis></entry>
<entry>utilisateur distance d'identification ; si spécifié, ce sera le nom de l'utilisateur
dont le mot de passe est utilisé (e.g. administrator)</entry>
</row>
<row>
<entry><literal>/anonymous</literal></entry>
<entry>accès distant en anonyme</entry>
</row>
<row>
<entry><literal>/debug</literal></entry>
<entry>la télémétrie d'enregistrement du protocole dans les logs de déboguage de
l'application</entry>
</row>
<row>
<entry><literal>/secure</literal></entry>
<entry>ne transmet pas un mot de passe en clair à travers le réseau</entry>
</row>
<row>
<entry><literal>/imap</literal>, <literal>/imap2</literal>,
<literal>/imap2bis</literal>, <literal>/imap4</literal>,
<literal>/imap4rev1</literal></entry>
<entry>équivalent de <literal>/service=imap</literal></entry>
</row>
<row>
<entry><literal>/pop3</literal></entry>
<entry>équivalent de <literal>/service=pop3</literal></entry>
</row>
<row>
<entry><literal>/nntp</literal></entry>
<entry>équivalent de <literal>/service=nntp</literal></entry>
</row>
<row>
<entry><literal>/norsh</literal></entry>
<entry>ne pas utiliser rsh ou ssh pour établir une session de pré identification
IMAP</entry>
</row>
<row>
<entry><literal>/ssl</literal></entry>
<entry>utilise <literal>Secure Socket Layer</literal> pour crypter la
session</entry>
</row>
<row>
<entry><literal>/validate-cert</literal></entry>
<entry>valide les certificats depuis le serveur TLS/SSL (c'est le comportement par
défaut)</entry>
</row>
<row>
<entry><literal>/novalidate-cert</literal></entry>
<entry>ne pas valider les certificats depuis le serveur TLS/SSL, nécessaire si
le serveur utilise des certificats autosignés</entry>
</row>
<row>
<entry><literal>/tls</literal></entry>
<entry>force l'utilisation de <literal>start-TLS</literal> pour chiffrer la session et
rejette les connexions aux serveurs qui ne le supporte pas</entry>
</row>
<row>
<entry><literal>/notls</literal></entry>
<entry>n'utilise pas <literal>start-TLS</literal> pour chiffrer la session,
y compris avec les serveurs qui le supporte</entry>
</row>
<row>
<entry><literal>/readonly</literal></entry>
<entry>demande un accès en lecture seule sur mailbox (IMAP uniquement ; ignoré sous
NNTP, et une erreur avec SMTP et POP3)</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>user</parameter></term>
<listitem>
<para>
Le nom d'utilisateur
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>password</parameter></term>
<listitem>
<para>
Le mot de passe associé avec l'utilisateur <parameter>user</parameter>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
<parameter>flags</parameter> est un masque de bit, qui peut prendre une ou
plusieurs des valeurs suivantes :
<itemizedlist>
<listitem>
<simpara>
<constant>OP_READONLY</constant> : Ouvre une boîte aux lettres en lecture seule
</simpara>
</listitem>
<listitem>
<simpara>
<constant>OP_ANONYMOUS</constant> : Ne pas utiliser, ou modifier le fichier
<filename>.newsrc</filename> pour les news (NNTP uniquement)
</simpara>
</listitem>
<listitem>
<simpara>
<constant>OP_HALFOPEN</constant> : 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>
<constant>CL_EXPUNGE</constant> : Supprime automatiquement la boîte aux lettres
de la liste, lors de la terminaison du flux (voir aussi
<function>imap_delete</function> and
<function>imap_expunge</function>)
</simpara>
</listitem>
<listitem>
<simpara>
<constant>OP_DEBUG</constant> : négociations de débogage du protocole
</simpara>
</listitem>
<listitem>
<simpara>
<constant>OP_SHORTCACHE</constant> : Cache court (<literal>elt</literal> uniquement)
</simpara>
</listitem>
<listitem>
<simpara>
<constant>OP_SILENT</constant> : Ne pas transmettre les événements (utilisation
interne)
</simpara>
</listitem>
<listitem>
<simpara>
<constant>OP_PROTOTYPE</constant> : Retourne le prototype du driver
</simpara>
</listitem>
<listitem>
<simpara>
<constant>OP_SECURE</constant> : Ne pas effectuer des identifications non sécurisées
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>retries</parameter></term>
<listitem>
<para>
Le nombre maximal de tentatives de connexion.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
Paramètres de connexion ; les clés peuvent être utilisées pour
définir un ou plusieurs paramètres de connexion :
<itemizedlist>
<listitem>
<simpara>
<literal>DISABLE_AUTHENTICATOR</literal> - Désactive les propriétés d'authentification
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne une instance de <classname>IMAP\Connection</classname>
en cas de succès,&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.1.0</entry>
<entry>
Retourne désormais une instance de <classname>IMAP\Connection</classname> ;
auparavant, une &resource; était retournée.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Différentes utilisations de <function>imap_open</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Pour se connecter à un serveur IMAP fonctionnant sur le port 143 de la
// machine locale, faites ceci :
$mbox = imap_open("{localhost:143}INBOX", "user_id", "password");
// Pour se connecter à un serveur POP3 fonctionnant sur le port 110 du
// serveur local, faites ceci :
$mbox = imap_open ("{localhost:110/pop3}INBOX", "user_id", "password");
// Pour se connecter à un serveur SSL IMAP ou POP3, ajoutez /ssl
// après la spécification du protocole :
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");
// Pour se connecter à un serveur SSL IMAP ou POP3 avec un certificat autosigné
// ajoutez /ssl/novalidate-cert après le protocole :
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password");
// Pour se connecter à un serveur NNTP qui fonctionne sur
// le port 119 de la machine locale on peut utiliser la commande:
$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");
// Pour se connecter à un serveur distant, remplacez "localhost" par
// le nom ou l'adresse IP de la machine.
?>
]]>
</programlisting>
</example>
<example>
<title>Exemple avec <function>imap_open</function></title>
<programlisting role="php">
<![CDATA[
<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password");
echo "<h1>Mailboxes</h1>\n";
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");
if ($folders == false) {
echo "Appel échoué<br />\n";
} else {
foreach ($folders as $val) {
echo $val . "<br />\n";
}
}
echo "<h1>en-têtes dans INBOX</h1>\n";
$headers = imap_headers($mbox);
if ($headers == false) {
echo "Appel échoué<br />\n";
} else {
foreach ($headers as $val) {
echo $val . "<br />\n";
}
}
imap_close($mbox);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>imap_close</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->