mail_201
| ※サンプルは現在このサイトの「お問い合わせ|メール」で使用しております。 |
| 目 次 | |
| 1 | 概要 |
| 2 | 機能一覧およびダウンロード |
| 3 | 設置およびカスタマイズ方法 |
| 4 | 補足事項 |
| 5 | 修正 |
1.概要
主な特徴
- FLASHのメールフォームで入力しPHPで内容をチェックしメール送信します。
- PHP側でメールの送付先、文字数制限などが設定・変更ができます。
- 送信者が記入したメールアドレスにコピーを送信します。
- 送信者の通信環境(リモートアドレス、ブラウザ情報など)を取得しメールに表示します。
| 制作ソフト | FLASH 8 Professional (for win) |
| パブリッシュ設定 | Flash Player Ver 8 |
| ActionScript 2.0 |
2.機能一覧およびダウンロード
フリー版とシェア版の機能比較とダウンロード
※シェア版のご購入を検討されている方は、まずフリー版をお試しいただき、問題無く動作することをご確認ください。
項目 |
フリー版 |
シェア版 |
| メール送付先 | ○(PHPで修正可能) |
○ |
| 入力文字数の制限 | ○ (PHP) |
○ |
| 入力項目数 | × *1 |
○(flaファイルカスタマイズ) |
| 文字フォント、サイズ、配色など | × *1 |
○(flaファイルカスタマイズ) |
| 動作、配色など | × *1 |
○(flaファイルカスタマイズ) |
| phpファイル名、設置位置 | × |
○ |
| ソースファイル | ×(無し) |
○(有り) |
| 必要なアプリケーションソフト | 特になし |
Flash 8 Professional 以上 |
| 著作権の表示(リンク表示) | 表示必要 |
表示不要 |
| 価格 | 0 円 |
2,100 円 |
| DL-Marketより購入 (※1) | DL-Market(別窓) | DL-Market(別窓) |
| Vectortより購入 | Vector(別窓) | Vector(別窓) |
Vector:解凍キー |
利用規定の最後に記載 | (Vectorより自動配布されます) |
| 備考 | *1:サンプル参照 |
(※1)Vector と DL-Market の違いについてはこちらを参照してください。 (ファイルの中身は同じものです。)
※いずれの場合もご利用の際は、「利用規定」をご確認ください。
3.設置およびカスタマイズ方法
設置方法
- 基本的にswfファイルとphpファイルは同じディレクトリ(フォルダ)に設置してください。
(シェア版ではパスおよびファイル名を変更できます。)
PHPファイルのカスタマイズ(フリー版/シェア版共通)
- fmail_201.php をテキストエディターで開いて修正してください。修正後は文字コード shift-jis で保存してください。
(フリー版は、パス、phpファイル名の変更はできません。) - 送信先メールアドレスルは忘れずに、必ず修正してください。
- 文字数上限値は、半角または全角の文字の合計数です。
- メール送信の設定方法がサーバーによって変わる場合があります。その際は $result =・・・ の部分で、上部をコメントアウトして下部のコメントアウトを外してください。
上部 $result =・・・ =修正=> //$result =・・・
下部 //$result =・・・ =修正=> $result =・・・ - その他サーバーなどの動作環境に合せて修正してください。
PHPファイル「fmail_201.php」
<?php
~ 中略 ~
// ▼ユーザー設定ここから-----------------------------------------------
// 送信先メールアドレス:右側のみ修正(★必須)
define("EMAIL_TO", "email@email.com");
// 文字数上限値:名前、メールアドレス、本文
define("LIMIT_NAME", 64);
define("LIMIT_MAIL", 128);
define("LIMIT_BODY", 2048);
// 以下は環境に応じて設定してください。
// メーラー名
define("EMAIL_MAILER", "PHP-" . phpversion());
// マルチバイト文字列関連設定
mb_language("Japanese");
mb_detect_order("auto");
ini_set("mbstring.http_input", "auto");
mb_http_output("SJIS");
mb_internal_encoding("SJIS");
mb_substitute_character("none");
// パスワードのハッシュ値(sha1)・・・基本的に変更不要
// ※変更の際は、まずflash側のパスワードを変更し、そのハッシュ値を与える。
define("PHP_PASSWD", "ae3da6ee49ccb1979fb26c925f3232ca938f12a1");
// ▲ユーザー設定ここまで-----------------------------------------------
~ 中略 ~
// メールを送信(サーバーにより変更が必要な場合があります。)
$result = @mb_send_mail( EMAIL_TO, $subject, $message, $add_header );
//$result = @mb_send_mail(EMAIL_TO, $subject, $message, $add_header, $add_param);
~ 中略 ~
?>
シェア版のカスタマイズ方法
- PHPのパスおよび名前を変更する場合は、FLASH側も変更してください。
FLASHファイル「mail_201.fla」の第1フレームのアクションスクリプト - FLASHとPHPのパスワードを変更する場合は
1)FLASHのパスワードを変更する。
2)パスワードのハッシュ値(sha1)を求める。
>>ハッシュ値を求めるプログラムはこちら
※このプログラムはシェア版のダウンロードファイルにも同梱しております。
※たとえば"パスワードの例"のハッシュ値(sha1)は"ef90d2aeec47e86b3107207b622e014d83aa8d98"です。
3)上記で求めたハッシュ値を PHP_PASSWD に与える。
FLASHファイル「mail_201.fla」の第1フレーム - FLASHの入力項目を増やしたい場合は、サンプル(mail_201_ex01.fla)を参照下さい。
基本的な考え方は、プルダウンメニューも各種チェックボックスもすべてbody(本文)に入れてphp経由で送信します。 - その他構造はムービーエクスプローラーを参照してください。 [ウインドウ] > [ムービーエクスプローラー] で表示されます。
詳しくは下記をご覧下さい。
FAQ:ソースファイル(.fla)の構造確認方法について
//▼ユーザー設定値:メール送信プログラム名
var MAIL_PHP = "fmail_201.php";
// パスワード:これを変更する場合は、php側のPASS_WORDにこのハッシュ値(sha1)を与える必要があります。
var FLASH_PASSWD = "パスワードの例";
<?php
~ 中略 ~
// パスワードのハッシュ値(sha1)・・・基本的に変更不要
// ※変更の際は、まずflash側のパスワードを変更し、そのハッシュ値を与える。
define("PHP_PASSWD", "ef90d2aeec47e86b3107207b622e014d83aa8d98");
// ▲ユーザー設定ここまで-----------------------------------------------
~ 中略 ~
?>
※このパスワードは、基本的にswfの入力のみを受け付けるためのものです。
4.補足事項
メインのアクションスクリプトの主要なポイント
- カスタマイズしやすいように、変数名は極力略語を使用しないようにする。
例えばFLASH側からの送信データには"flash_"、PHP側からの送信データは"php_"をつけるなど。 - 送信フォーム(送信項目)をカスタマイズしたサンプルを添付する。(mail_201_ex01)
- 基本的にswfからの入力のみを受け付けるように、パスワード設定できるようにする。
その他
- 送信内容はphpにより文字数、メールアドレスの書式をチェックし、サニタイジングによりHTMLタグなどを除去する。
- 送信者の通信環境(リモートアドレス、ブラウザ情報など)を取得しメールに表示する。
- FLASHとPHPとの連携をローカルでテストできるようにする。
※phpの動作をローカルで確認する場合は、XAMPPなどによりローカルでphpの動作する環境が必要です。
5.修正
一部の漢字の文字化け対策
- 症状:一部の漢字などで文字化けが発生する場合がございます。
例)「申します。」と入力・送信すると「垂オます」とメールが届く場合がございます。 - 対策:phpファイルの73行目を下記のように修正してください。
修正前
$data[$key] = stripslashes($data[$key]);
↓修正後
if(get_magic_quotes_gpc()) $data[$key] = stripslashes($data[$key]);
※配布ファイルの差し替えをしておりますが、登録手続きに少々お時間がかかる場合がございます。
当面はお手数をおかけし、誠に申し訳ございませんが、上記修正をお願い申し上げます。