PHPコーディング

【mail】関数で添付ありhtml形式メールを送信(代替本文あり)

2009年08月27日
だんだん複雑になっていきます。

ヘッダ部
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
From: [宛先メールアドレス]\r\n
Reply-To: [返信メールアドレス]\r\n
Bcc: [メールアドレス]\r\n
MIME-version: 1.0\n
"Content-Type: multipart/mixed; boundary=[バウンダリ文字列]\n
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


ボディ部
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
This is a multi-part message in MIME format.\n\n

--[バウンダリ文字列]\n
Content-Type: multipart/alternative; boundary=[バウンダリ文字列_1]\n

//ボディ代替
--[バウンダリ文字列_1]\n
Content-type: text/plain; charset=ISO-2022-JP\r\n
Content-Transfer-Encoding: 7bit\n\n

[JISにエンコードした代替本文]
\n

//htmlボディ
--[バウンダリ文字列_1]\n
Content-type: text/html; charset=ISO-2022-JP\r\n
Content-Transfer-Encoding: 7bit\n\n
[JISにエンコードした本文]
\n

--[バウンダリ文字列_1]\n

//添付ファイル
\n\n
--[バウンダリ文字列]\n
Content-Type: [MIMEファイルタイプ]\n
Content-Transfer-Encoding: base64\n
Content-Disposition: attachment; filename="[添付ファイルにつける名前]"\n\n
chunk_split(base64_encode([base64でエンコードした添付ファイルの内容]))\n
//添付ファイル

--[バウンダリ文字列]--
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ボディ本体、代替本文のバウンダリ文字列を別に定義していることがポイントです。

※ []には送信するメールの内容を設定します。