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. 2chみたいな掲示板「PHP 2chBBS」 (3 PV)
  2. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (2 PV)
  3. 闇の声(やみのこえ) (2 PV)
  4. 警視庁がチャゲアスのASKA(宮崎重明)を覚せい剤取締法違反で逮捕、本人は容疑を否認 (2 PV)
  5. 山口組が後藤組の「後藤忠正」組長を除籍 (1 PV)
  6. 日清食品がラ王のCM撮影で槍ヶ岳山頂を勝手に封鎖、排除された登山者が激怒 (1 PV)
  7. 岡沢高宏の相棒でヤクザの金村剛弘(金剛弘)が西新宿の路上で襲撃され死亡 (1 PV)
  8. 「瓦解」 戸野本優子 (1 PV)
  9. 【上級国民】関西テレビが被災者が並ぶガソリンスタンドの列に割り込んで給油したことを謝罪 (1 PV)
  10. ピーアーク三田は許せない 東京都港区 (1 PV)

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

  1. PHP、MySQLで動くオープンソース掲示板ソフト (131 PV)
  2. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (100 PV)
  3. 岡沢高宏の相棒でヤクザの金村剛弘(金剛弘)が西新宿の路上で襲撃され死亡 (90 PV)
  4. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (80 PV)
  5. 警視庁がチャゲアスのASKA(宮崎重明)を覚せい剤取締法違反で逮捕、本人は容疑を否認 (74 PV)
  6. 2chまとめサイト(ブログ)検索 (73 PV)
  7. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (65 PV)
  8. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (64 PV)
  9. 【速報】パナマ文書に記載されている日本企業、日本人の一覧リスト (41 PV)
  10. 「真実を探すブログ」と「カレイドスコープ」が互いに誹謗・中傷と非難の応酬 (39 PV)

アクセス統計

ディレクトリ

関連サイト