ヘッダーを構築してヘッダーを取得する

広告

次はヘッダーを構築します。ヘッダーを構築するにはMail_Mimeクラスで用意されている「headers」メソッドを使います。

引数:
  $headerEx  追加するヘッダ
戻り値:
  MIME ヘッダおよび追加のヘッダの連想配列

「headers」関数は必要なとなるメールのヘッダー (MIME-Version と Content-Type)を作成してその配列を返してくれます。自動で作成されるヘッダー以外に追加で登録したいヘッダーについては引数で指定して下さい。

追加で登録するヘッダーについては「Mail」クラスの場合と同じです。日本語が含まれる場合には「mb_encode_mimeheader」関数を使ってエンコーディングを行って下さい。

$body = <<<EOS
マルチパートメールのテストです。
ヒアドキュメントを使って複数行の文字列を作成しています。
日本語の場合は文字コードの変換が必要です。
EOS;

$body = mb_convert_encoding($body, "ISO-2022-JP", "auto");

$mimeObject = new Mail_Mime("¥n");
$mimeObject -> setTxtBody($body);

$bodyParam = array(
  "text_charset" => "ISO-2022-JP"
);
$body = $mimeObject -> get($bodyParam);

$addHeaders = array(
  "To" => "xxx@xxx.xxxx",
  "From" => "xxx@xxxx.xxxx",
  "Subject" => mb_encode_mimeheader("テストメール")
);

$headers = $mimeObject -> headers($addHeaders);

注意する点としては必ず「get」メソッドを先に実行してから「headers」メソッドを実行する必要があります。これは「get」メソッドにてヘッダー部分の文字コードを設定しているためです。

これでヘッダーの取得が出来ました。取得したヘッダーはMailクラスのオブジェクトを使ってメールを送信する際に指定します。次のページで実際に送信を行ってみます。

( Written by Tatsuo Ikura )