メールサーバーを立ち上げたら、メールの送信テストを兼ねてメール送信プログラムの作成をする。

PHPを使用。

今回はメール送信テストという事で入力チェックや集計などの機能は全て排除。

HTML側で入力されて送られてきたデータをPHPで受け取り、指定のアドレスへ送信。この機能のみ。



まずはHTML


<html>
<head>
<title>メール送信</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>

<form action="formmail.php" method="post">
<table border="1" width="600" cellpadding="2" cellspacing="0">

<tr>
<td>名前</td>
<td><input type="text" name="name" size="40" maxlength="20"></td>
</tr>
<tr>

<td>年齢</td>
<td><input type="text" name="age" size="2" maxlength="2">歳</td>
</tr>

</table>
<input type="reset" value="リセット" class="submit">
<input type="submit" value="送信" class="submit">
</form>
</body>
</html>


名前を年齢のみ入力して送信する

注意点は、charsetがShift_JISである事。

送信形式がPOSTである事。

名前はname年齢はageという名前で送信される

今回はPHP側で入力チェックをしない替わりにmaxlengthで文字の長さを制御

呼び出すPHPの名前がformmail.phpである事


以下formmail.phpファイルのコード

<?php

// カレントの言語を日本語に設定する
mb_language("ja");
// 内部文字エンコードを設定する
mb_internal_encoding("SJIS");

//フォームより入力された値の受け取り
$name = $_POST["name"];
$age = $_POST["age"];

//送信内容を作成
$data = $name.$age;

//メール送信
mb_send_mail("xxx@xxxx.com ","送信テスト", $data);

?>


最初のmb_languageとmb_internal_encodingで文字コードの指定をしている

POSTで送信されてきた各値の受け取り

受け取ったデータを結合して$dataとしておく

mb_send_mailで指定のアドレスへ送信テストという題名で$dataというデータを送る。


入力チェックや集計機能、ログ保管などの機能は今回は取り除いてシンプルに。