php-doc-en/reference/imap/functions/imap-mail-compose.xml
Máté Kocsis e2f50c240b Generate imap methodsynopses based on stubs
Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>

Closes GH-297.
2020-12-31 19:30:38 +01:00

211 lines
7.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.imap-mail-compose" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>imap_mail_compose</refname>
<refpurpose>Create a MIME message based on given envelope and body sections</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>imap_mail_compose</methodname>
<methodparam><type>array</type><parameter>envelope</parameter></methodparam>
<methodparam><type>array</type><parameter>bodies</parameter></methodparam>
</methodsynopsis>
<para>
Create a MIME message based on the given <parameter>envelope</parameter>
and <parameter>bodies</parameter> sections.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>envelope</parameter></term>
<listitem>
<para>
An associative array of header fields. Valid keys are: <literal>"remail"</literal>,
<literal>"return_path"</literal>, <literal>"date"</literal>, <literal>"from"</literal>, <literal>"reply_to"</literal>, <literal>"in_reply_to"</literal>, <literal>"subject"</literal>,
<literal>"to"</literal>, <literal>"cc"</literal>, <literal>"bcc"</literal> and <literal>"message_id"</literal>, which set the respective message headers to the given &string;.
To set additional headers, the key <literal>"custom_headers"</literal> is supported, which expects
an array of those headers, e.g. <code>["User-Agent: My Mail Client"]</code>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>bodies</parameter></term>
<listitem>
<para>
An indexed array of bodies. The first body is the main body of the message;
only if it has a type of <constant>TYPEMULTIPART</constant>, further bodies
are processed; these bodies constitute the bodies of the parts.
</para>
<para>
<table>
<title>Body Array Structure</title>
<tgroup cols="2">
<thead>
<row>
<entry>Key</entry>
<entry>Type</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>type</literal></entry>
<entry><type>int</type></entry>
<entry>
The MIME type.
One of <constant>TYPETEXT</constant> (default), <constant>TYPEMULTIPART</constant>,
<constant>TYPEMESSAGE</constant>, <constant>TYPEAPPLICATION</constant>,
<constant>TYPEAUDIO</constant>, <constant>TYPEIMAGE</constant>,
<constant>TYPEMODEL</constant> or <constant>TYPEOTHER</constant>.
</entry>
</row>
<row>
<entry><literal>encoding</literal></entry>
<entry><type>int</type></entry>
<entry>
The <literal>Content-Transfer-Encoding</literal>.
One of <constant>ENC7BIT</constant> (default), <constant>ENC8BIT</constant>,
<constant>ENCBINARY</constant>, <constant>ENCBASE64</constant>,
<constant>ENCQUOTEDPRINTABLE</constant> or <constant>ENCOTHER</constant>.
</entry>
</row>
<row>
<entry><literal>charset</literal></entry>
<entry><type>string</type></entry>
<entry>The charset parameter of the MIME type.</entry>
</row>
<row>
<entry><literal>type.parameters</literal></entry>
<entry><type>array</type></entry>
<entry>An associative &array; of <literal>Content-Type</literal> parameter names and their values.</entry>
</row>
<row>
<entry><literal>subtype</literal></entry>
<entry><type>string</type></entry>
<entry>The MIME subtype, e.g. <literal>'jpeg'</literal> for <constant>TYPEIMAGE</constant>.</entry>
</row>
<row>
<entry><literal>id</literal></entry>
<entry><type>string</type></entry>
<entry>The <literal>Content-ID</literal>.</entry>
</row>
<row>
<entry><literal>description</literal></entry>
<entry><type>string</type></entry>
<entry>The <literal>Content-Description</literal>.</entry>
</row>
<row>
<entry><literal>disposition.type</literal></entry>
<entry><type>string</type></entry>
<entry>The <literal>Content-Disposition</literal>, e.g. <literal>'attachment'</literal>.</entry>
</row>
<row>
<entry><literal>disposition</literal></entry>
<entry><type>array</type></entry>
<entry>An associative &array; of <literal>Content-Disposition</literal> parameter names and values.</entry>
</row>
<row>
<entry><literal>contents.data</literal></entry>
<entry><type>string</type></entry>
<entry>The payload.</entry>
</row>
<row>
<entry><literal>lines</literal></entry>
<entry><type>int</type></entry>
<entry>The size of the payload in lines.</entry>
</row>
<row>
<entry><literal>bytes</literal></entry>
<entry><type>int</type></entry>
<entry>The size of the payload in bytes.</entry>
</row>
<row>
<entry><literal>md5</literal></entry>
<entry><type>string</type></entry>
<entry>The MD5 checksum of the payload.</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns the MIME message as &string;, &return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>imap_mail_compose</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$envelope["from"]= "joe@example.com";
$envelope["to"] = "foo@example.com";
$envelope["cc"] = "bar@example.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>
<!-- 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
-->