PHPコーディング
【mail】関数で添付ありプレーンテキスト形式メールを送信
2009年08月23日
次はプレーンテキスト形式のメールに、添付ファイルを付けて送ってみます。
ヘッダ部は
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
From: [宛先メールアドレス]\r\n
Reply-To: [返信メールアドレス]\r\n
Bcc: [メールアドレス]\r\n
MIME-version: 1.0\n
Content-Type: multipart/mixed; boundary=[バウンダリ文字列]\n
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
バウンダリ文字列は区切りをあらわす文字列で、メールごとに定義します。
md5(uniqid(rand()));
などでランダムに作成します。
--[バウンダリ文字列]\n
で区切りを表し、
--[バウンダリ文字列]--
で終了を表します。
ボディ部は
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
This is a multi-part message in MIME format\n\n
--[バウンダリ文字列]\n
Content-Type: text/plain; charset=ISO-2022-JP\n
Content-Transfer-Encoding: 7bit\n\n
[JISにエンコードした本文]
//添付ファイル
\n\n
--[バウンダリ文字列]\n
Content-Type: [MIMEファイルタイプ]\n
Content-Transfer-Encoding: base64\n
Content-Disposition: attachment; filename="[添付ファイルにつける名前]"\n\n
chunk_split(base64_encode([base64でエンコードした添付ファイルの内容]))\n
//添付ファイル
--[バウンダリ文字列]--
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
添付ファイルを複数つける場合は、【//添付ファイル】を繰り返します。
プレーンテキストやhtmlファイルなど、テキスト形式のファイルを添付する場合、MIMEタイプは【text/plain】や【text/html】ではなく、【application/octet-stream】にします。
他にも書き方がありますが、これが私には一番分かりやすくしっくりきました。
※ []には送信するメールの内容を設定します。
ヘッダ部は
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
From: [宛先メールアドレス]\r\n
Reply-To: [返信メールアドレス]\r\n
Bcc: [メールアドレス]\r\n
MIME-version: 1.0\n
Content-Type: multipart/mixed; boundary=[バウンダリ文字列]\n
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
バウンダリ文字列は区切りをあらわす文字列で、メールごとに定義します。
md5(uniqid(rand()));
などでランダムに作成します。
--[バウンダリ文字列]\n
で区切りを表し、
--[バウンダリ文字列]--
で終了を表します。
ボディ部は
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
This is a multi-part message in MIME format\n\n
--[バウンダリ文字列]\n
Content-Type: text/plain; charset=ISO-2022-JP\n
Content-Transfer-Encoding: 7bit\n\n
[JISにエンコードした本文]
//添付ファイル
\n\n
--[バウンダリ文字列]\n
Content-Type: [MIMEファイルタイプ]\n
Content-Transfer-Encoding: base64\n
Content-Disposition: attachment; filename="[添付ファイルにつける名前]"\n\n
chunk_split(base64_encode([base64でエンコードした添付ファイルの内容]))\n
//添付ファイル
--[バウンダリ文字列]--
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
添付ファイルを複数つける場合は、【//添付ファイル】を繰り返します。
プレーンテキストやhtmlファイルなど、テキスト形式のファイルを添付する場合、MIMEタイプは【text/plain】や【text/html】ではなく、【application/octet-stream】にします。
他にも書き方がありますが、これが私には一番分かりやすくしっくりきました。
※ []には送信するメールの内容を設定します。
コメント