imap_mail_compose
(PHP 4, PHP 5, PHP 7)
imap_mail_compose — 指定したエンベロープおよびボディセクションに基づいて MIME メッセージを作成する
説明
imap_mail_compose
( array $envelope
, array $body
) : string|false
指定したエンベロープ envelope
およびボディセクション body
に基づいて
MIME メッセージを作成します。
パラメータ
envelope
ヘッダフィールドの連想配列。使えるキーは
"remail"
,"return_path"
,"date"
,"from"
,"reply_to"
,"in_reply_to"
,"subject"
,"to"
,"cc"
,"bcc"
。"message_id"
。 これらの値は、連想配列の値に与えられた文字列でそれぞれのヘッダを設定します。 さらに追加のヘッダを設定する用途として、"custom_headers"
がサポートされています。 ここには、その他のヘッダの連想配列を指定します。例:["User-Agent: My Mail Client"]
body
本文の配列。 配列の最初の要素が、メッセージの中心部分です。
TYPEMULTIPART
の場合にだけ、ふたつめ以降の要素が処理されます。 処理された要素は、本文の一部を構成します。body に指定する配列の構造 キー 型 説明 type
int MIMEタイプ。 TYPETEXT
(デフォルト),TYPEMULTIPART
,TYPEMESSAGE
,TYPEAPPLICATION
,TYPEAUDIO
,TYPEIMAGE
,TYPEMODEL
,TYPEOTHER
が指定できます。encoding
int Content-Transfer-Encoding
の値を指定します。ENC7BIT
(デフォルト),ENC8BIT
,ENCBINARY
,ENCBASE64
,ENCQUOTEDPRINTABLE
,ENCOTHER
が指定できます。charset
string MIMEタイプの charset パラメータの値 type.parameters
array Content-Type
の名前と値を連想配列で指定します。subtype
string MIMEサブタイプ。例: TYPEIMAGE
の場合は'jpeg'
id
string Content-ID
の値description
string Content-Description
の値disposition.type
string Content-Disposition
の値。例:'attachment'
disposition
array Content-Disposition
の名前と値を連想配列で指定します。contents.data
string ペイロード lines
int The size of the payload in lines. bytes
int ペイロードのサイズをバイト単位で指定します。 md5
string ペイロードのMD5チェックサム
返り値
MIME メッセージを文字列として返します。
失敗した場合に false
を返します
例
例1 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));?>