
メール送信のプログラミングは、input_s.phpに記述します。仕組みは、input.phpの隠しフィールドから値を飛ばして、if文で処理をする部分とほぼ同じです。全体のプログラミングの流れを見ていく前に、まずは、mb_send_mailについて説明します。
mb_send_mail(送信先メールアドレス,表題,本文,ヘッダ文字列);
mb_send_mailは、文字コードを内部で処理するコードから変換してメールを送信する関数です。引数(ひきすう)には、送信先メールアドレス、表題、本文、ヘッダ文字列等があります。
* 引数とは、関数に受け渡す値のことです。例えば、送信先メールアドレスの引数に、自分のメールアドレスを渡せば、自分のメールアドレスにメールを送信することができます。
例;
$mailad="penta@webpenta.com";
$subject="ここにタイトルを入れます。";
$message="ここに本文を入れます。\n改行は、\nです。";
$from="From:" .mb_encode_mimeheader("ペンタ") ."<penta@webpenta.com>";
mb_send_mail($mailad,$subject,$message,$from);
これで、penta@webpenta.com宛に、題名「ここにタイトルを入れます。」、本文「ここに本文を入れます。\n改行は、\nです。」というメールを送信することができます。最後の$fromは、ヘッダ文字列で、From:にあたる部分を設定しています。では、前項までに構築したプログラミングにmb_send_mail関数を追加してみましょう。

「メールの送信」ボタンをクリックすると、隠しフィールドから、自分自身のPHP「input_s.php」に「name="action",vlue="send"」が飛び、上のif文で、処理する仕組みは前項で説明した通りです。
if($_POST['action']=="send"){
//言語と文字コードを設定
mb_language("ja");
mb_internal_encoding("EUC_JP");
//PentaCreation宛
$mailad="penta@webpenta.com";
$subject="テスト投稿";
$message=$_SESSION['name'];
$from='From:'.mb_encode_mimeheader("ペンタ").'<penta@webpenta.com>';
mb_send_mail($mailad,$subject,$message,$from);
header("Location:thanks.php");
}
では、送信ボタンがクリックされたら、言語と文字コードを指定、各引数を変数に入れてmb_send_mail関数を実行、thanks.phpに飛ばしています。
$messageの部分に、$_SESSION['name'];を入れていますが、このようにフォームで入力されたデータは、一度セッション変数にしまい、それをmb_send_mail関数に渡すことによって、フォームで入力されたデータをメール送信させることが可能となります。

thanks.phpは以上のとおり。基本的に、作業が完了したことを通知するのが役割ですが、裏で、セッションを消去する作業も行います。これは、同一マシンを複数のユーザーが使っていることへの配慮です。
プログラミングは簡単で、上部でセッションを宣言し、session_unset();関数を実行してセッションデーターを消去するのみです。
