PHPメールフォームのサンプルスクリプト

PHPの開発環境でプログラムからメールを送信できるかチェックするために作成した、ごく簡単なメールフォームのサンプルスクリプト(プログラム)です。

mailmform.phpを実行すると入力フォームが表示され。送信ボタンを押す(クリック)すると入力した内容がメール送信されます。

<?php
//------------------------------------------------------------------------------
//    mailform.php - sample mailform php script
//------------------------------------------------------------------------------

mb_language("Japanese");
mb_internal_encoding("UTF-8");

define("MAILTO", "support@59bbs.org");

$proc = isset($_POST['proc']) ? $_POST['proc'] : '';
//echo $proc; // for debug
if ($proc == 'send') {
    _send();
}
else {
    _input();
}

// 初期表示
function _input() {
    $formdata = array();
    $formdata['subject'] = '';
    $formdata['name'] = '';
    $formdata['from'] = '';
    $formdata['body'] = '';
    _input_form($formdata, '');
}

// 入力フォーム表示
function _input_form($formdata, $message) {

    // XSS対策
    $formdata['subject'] = htmlspecialchars($formdata['subject'], ENT_QUOTES);
    $formdata['name'] = htmlspecialchars($formdata['name'], ENT_QUOTES);
    $formdata['from'] = htmlspecialchars($formdata['from'], ENT_QUOTES);
    $formdata['body'] = htmlspecialchars($formdata['body'], ENT_QUOTES);

echo <<<EOF
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>サンプルメールフォーム</title>
</head>
<body>
<h2>サンプルメールフォーム</h2>
<p>$message</p>
<form action="mailform.php" method="post">
<input type="hidden" name="proc" value="send">
件名:<br />
<input type="text" name="subject" size="50" value="${formdata['subject']}" /><br />
名前:<br />
<input type="text" name="name" size="50" value="${formdata['name']}" /><br />
メールアドレス:<br />
<input type="text" name="from" size="50" value="${formdata['from']}" /><br />
本文:<br />
<textarea name="body" cols="50" rows="10">${formdata['body']}</textarea><br />
<br />
<input type="submit" value="送信" />
</form>
</body>
</html>
EOF;

    exit();
}

// メール送信
function _send() {

    // パラメータ取得
    $formdata = array();
    $formdata['subject'] = isset($_POST['subject']) ? $_POST['subject'] : '';
    $formdata['name'] = isset($_POST['name']) ? $_POST['name'] : '';
    $formdata['from'] = isset($_POST['from']) ? $_POST['from'] : '';
    $formdata['body'] = isset($_POST['body']) ? $_POST['body'] : '';

    // 入力チェック
    if ($formdata['subject'] == '') {
        _input_form($formdata, '件名を入力してください');
    }
    if ($formdata['name'] == '') {
        _input_form($formdata, '名前を入力してください');
    }
    if ($formdata['from'] == '') {
        _input_form($formdata, 'メールアドレスを入力してください');
    }
    else {
        if (!preg_match('/^[-+\\w]+(\\.[-+\\w]+)*@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]{2,6}$/i', $formdata['from'])) {
            _input_form($formdata, '正しいメールアドレスを入力してください');
        }
    }
    if ($formdata['body'] == '') {
        _input_form($formdata, '本文を入力してください');
    }

    // 送信
    $header = "From: " . mb_encode_mimeheader($formdata['name']) . ' <' . $formdata['from'. '>';
    $result = mb_send_mail(MAILTO$formdata['subject'], $formdata['body'], $header);
    if ($result{
        _input_form($formdata'メールを送信しました');
    }
    else {
        _input_form($formdata'メール送信に失敗しました');
    }
}

?>
[3147] Posted by kagahiro at 2012/06/13 16:38:29
オープン | 1 point | Link (7) | Trackback (0) | Comment (1)

キーワード
サンプルプログラム PHP メールフォーム

語句検索のホームページ


PHPメールフォームのサンプルスクリプト 関連リンク

[Perl]メールフォームCGIのサンプルプログラム
オンラインショップの商品が注文された際に顧客に注文内容の確認メールを送信したり、掲示板にコメントが書き込まれた際に管理人宛てに通知メールを送信したりするには、フォームで入力された項目の内容をCGIからメー...
無料(オープンソース)のメールフォームCGI「Mailform Std 1.0」
オープンソースの無料メールフォームCGI「Mailform Std 1.0」を公開しました。中身は以前公開していた無料メールフォームCGIに少し機能を追加したもので、機能的には今のところシンプルな「問い合わせフォーム」です...
掲示板やチャットなどのフリーPHPスクリプトの配布サイト
掲示板やチャットなどのフリーPHPスクリプトを配布しているサイトやPHPを使った掲示板の作り方を解説しているサイト。PHP365.com - PHPスクリプト配布サイト -掲示板や自動リンク集、メールフォームなど。P-Web掲示板...
PHP、MySQLで動くオープンソース掲示板ソフト
当サイト(掲示板 59bbs.org)で開発・配布している「59bbs」は、Perl/CGI環境で動作するオープンソースの掲示板ソフトですが、競合調査のためPHP、MySQLで動く他のオープンソース掲示板ソフトにどんなものがあるのか...
XAMPP(エグザンプ)とは
XAMPP(エグザンプ)とは、Linux、Windows、Mac OS X、SolarisにApache、MySQL、PHP、Perlを一括してインストールできる無償のディストリビューションで、非営利組織プロジェクトApache Friendsが開発、配布している...
PHPでMySQLに接続して、SELECTでデータを取得するサンプルプログラム
PHPのプログラムからMySQLに接続し、SELECTでデータを取得する処理のサンプルプログラムです。あらかじめPHPMyAdminを使用してMySQLにテータベース「testdb」を作成し、以下のSQLを実行しテーブル「users」を作成、3...
「ハッスルサーバー」月額208円でPHP、MySQLが使える格安レンタルサーバー
ネットエイドの格安レンタルサーバー「ハッスルサーバー」は、月額208円と格安料金ながら、容量1.5Gで、perl、ruby、pythonのCGIだけでなく、PHPやMySQL、定期的に処理を自動的実行するcronも利用できます。また、人...

PHPメールフォームのサンプルスクリプト トラックバック

トラックバックURL :


PHPメールフォームのサンプルスクリプトへのコメント

1 Posted by クリスチャンルブダン at 2013/07/21 18:25:27
PHPメールフォームのサンプルスクリプト

詳細の入力フィールドを表示する

おすすめ  (チェックしてコメントすると最新情報に掲載)
コメント :

< 前のスレッド      次のスレッド >

アクセスランキング

今日のアクセスランキング(上位10件)

  1. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (7 PV)
  2. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (6 PV)
  3. 「真実を探すブログ」と「カレイドスコープ」が互いに誹謗・中傷と非難の応酬 (2 PV)
  4. 戦後日本を米国に売った売国奴を暴露してベストセラー「戦後史の正体 孫崎享」 (2 PV)
  5. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (2 PV)
  6. 「暴力と麻薬に汚染された芸能界」を告発する梨元勝の「遺言状」 (1 PV)
  7. 長澤まさみの巨乳が「ダイエット」で危機的状況に (1 PV)
  8. 誤報垂れ流しの大手まとめサイト「オレ的ゲーム速報@刃」のTwitterアカウントが凍結される (1 PV)
  9. 良い子の諸君! (1 PV)
  10. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (1 PV)

今月のアクセスランキング(上位10件)

  1. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (211 PV)
  2. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (123 PV)
  3. 2chまとめサイト(ブログ)検索 (59 PV)
  4. 「真実を探すブログ」と「カレイドスコープ」が互いに誹謗・中傷と非難の応酬 (49 PV)
  5. PHP、MySQLで動くオープンソース掲示板ソフト (48 PV)
  6. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (45 PV)
  7. 読売新聞「石井誠」記者変死事件 (33 PV)
  8. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (31 PV)
  9. 伝説の男、瓜田純士さんが新宿駅構内で2週間前に割腹自殺を図る (25 PV)
  10. [B-CAS]平成の龍馬(多田光宏)逮捕 (18 PV)

アクセス統計

ディレクトリ

関連サイト