imap_mail_compose

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail_composeCria uma mensagem MIME com base nas seções de envelope e corpo fornecidas

Descrição

imap_mail_compose(array $envelope, array $bodies): string|false

Cria uma mensagem MIME com base nas seções envelope e bodies fornecidas.

Parâmetros

envelope

Um array associativo de campos de cabeçalho. As chaves válidas são: "remail", "return_path", "date", "from", "reply_to", "in_reply_to", "subject", "to", "cc", "bcc" e "message_id", que definem os respectivos cabeçalhos de mensagem para a string fornecida. Para definir cabeçalhos adicionais, a chave "custom_headers" é suportada, que espera um array desses cabeçalhos, por exemplo, ["User-Agent: My Mail Client"].

bodies

Um array indexado de corpos. O primeiro corpo é o corpo principal da mensagem; somente se ele tiver um tipo de TYPEMULTIPART, corpos adicionais são processados; esses corpos constituem os corpos das partes.

Body Array Structure
Chave Tipo Descrição
type int O tipo MIME. Uma das constantes TYPETEXT (default), TYPEMULTIPART, TYPEMESSAGE, TYPEAPPLICATION, TYPEAUDIO, TYPEIMAGE, TYPEMODEL ou TYPEOTHER.
encoding int O Content-Transfer-Encoding. Uma das constantes ENC7BIT (padrão), ENC8BIT, ENCBINARY, ENCBASE64, ENCQUOTEDPRINTABLE ou ENCOTHER.
charset string O parâmetro de conjunto de caracteres do tipo MIME.
type.parameters array Um array associativo de nomes de parâmetros Content-Type e seus valores.
subtype string O subtipo MIME, por exemplo, 'jpeg' para TYPEIMAGE.
id string O Content-ID.
description string O Content-Description.
disposition.type string O Content-Disposition, por exemplo, 'attachment'.
disposition array Um array associativo de nomes e valores de parâmetros Content-Disposition.
contents.data string A carga útil.
lines int O tamanho da carga útil em linhas.
bytes int O tamanho da carga útil em bytes.
md5 string A soma de verificação MD5 da carga útil.

Valor Retornado

Retorna a mensagem MIME como string, ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de imap_mail_compose()

<?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));

?>