インストール

付属のサンプルフォームをインストールして、メールを受信できることを確認します。
オリジナルデザインやカスタマイズ設定は適用せずに、基本的な設定で動作確認を行い、サーバー環境に問題がないことを確認します。

  1. 動作環境を確認する
  2. アーカイブファイルを展開する
  3. 設定ファイルを修正する
  4. ファイルをアップロードする
  5. ブラウザで動作を確認する
  6. メールの受信を確認する

1. 動作環境を確認する

ご利用サーバーが下記動作環境に適合していることを確認してください。

  • Webサーバー:Apache または Apache互換のWebサーバー
    • 他のWebサーバーでも動作することはありますが、環境構築・設定方法のご案内はしておりません。
    • 設定ディレクトリなどは .htaccess ファイルを用いてアクセス制御をしています。.htaccess ファイルを利用できない場合は、「設定ファイル・ログファイルの配置を変更する」を参考にしてください。
  • プログラミング言語:PHP 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3
    ※ PHP 7.3 に対応している製品のバージョンは 1.1.3 以降です。
  • 必須PHPモジュール:
    mbstring
    GD (CAPTCHAを使用する場合のみ必要)
    PDO / PDO_SQLite (住所入力支援機能や通し番号発行機能を使用する場合のみ必要)
    OpenSSL (SMTPSでメールを送信する場合のみ必要)
  • スクリプトを設置するWebサーバーでsendmailプログラムを利用できること。
    ※ SMTP送信機能を利用して、外部のSMTPサーバーを利用する場合は、Webサーバー内のsendmailプログラムは不要です。

2. アーカイブファイルを展開する

例:microengine-mf-1.1.0.zip を展開します。

アーカイブファイルが展開されると以下の構成になります。
※ディレクトリと主要ファイルの構成

  • microengine-mf-1.1.0
    • contact
      • me_mailform
        • assets
          • css
          • js
        • data
          • config
            • body.txt (メール本文)
            • config.ini (基本設定)
            • item.txt (アイテム設定)
            • mail.ini (メール設定)
            • message.ini (メッセージ設定)
            • reply_body.ini (自動返信メール本文)
          • csv 書き込み
          • db 書き込み
            • limitation.sqlite (IP別連続送信管理DB) 書き込み
            • serial.sqlite (通し番号DB) 書き込み
            • zipcode.sqlite (郵便番号DB)
          • log 書き込み
          • uploads 書き込み
        • script
        • template
          • confirm.html (確認画面)
          • entry.html (入力画面)
          • error.html (エラー画面)
          • thanks.html (送信完了画面)
      • index.php (エントリースクリプト)
  • readme.html

書き込み が記されているディレクトリ・ファイルはPHPの実行プロセスが書き込めるようにパーミッションを設定してください。

3. 設定ファイルを修正する

メール設定ファイル(contact/me_mailform/data/config/mail.ini)を修正します。
[mail]セクションの 「from」, 「from_name」, 「to」 項目を設定します。
※設定ファイル内のセクションとは、"[]"(角かっこ)で区切られた範囲を指します。[mail]セクションとは、"[mail]"行から、次に"[]"(角かっこ)で囲われた行までの範囲のことです。
「from」には送信元(送信者)となるメールアドレスを指定します。
「from_name」には、送信元の表示名を指定します。
「to」には、メールの送信先(受信者)のメールアドレスを指定します。
メール設定ファイルの該当箇所:

[mail]
;; ★★★ 必ず変更してください!!!
;; 送信元メールアドレス
from = your_address@example.com

;; ★★★ 必ず変更してください!!!
;; 送信元表示名
;; ここで指定した値が差出人の名前として表示されます。
from_name = "山田 太郎"

;; ★★★ 必ず変更してください!!!
;; 送信先メールアドレス
;; このメールフォームを受け取りたいメールアドレスを指定します
;; カンマ区切りで複数の宛先を指定できます。 例: info@microengine.jp, your_address@microengine.jp
to = your_address@microengine.jp

4. ファイルをアップロードする

contact ディレクトリをサーバーにアップロードします。

パーミッション設定について

ログ・CSV保存や通し番号機能などを利用する場合は、Webサーバーの実行ユーザーに書き込み権限を与える必要があります。 ご利用サーバーのマニュアルを参考にして上記2. の「ディレクトリと主要ファイルの構成」で [書き込み] と記されたディレクトリ・ファイルのパーミッションを調整してください。

PHPを実行するためのパーミッションが指定されているサーバーの場合は、サーバーのマニュアルに従い、.php ファイルのパーミッションを調整してください。

5. ブラウザで動作を確認する

ブラウザを起動します。
contact ディレクトリをWebサーバーのドキュメントルートに配置した場合は、http://Webサーバー/contact/index.php にアクセスします。
フォームの入力画面が表示されるので、問い合わせ内容を入力します。
「郵便番号」には7桁の郵便番号を入力します。(例: 1000001)
「住所を自動入力」ボタンをクリックして、「住所」に該当する住所が自動入力されることを確認します。(例:東京都千代田区千代田)
※この機能が正しく動作しない場合は下記の「住所入力支援機能が働かない」をお確かめください。
確認画面に遷移して、送信ボタンをクリックします。

6. メールの受信を確認する

メール設定ファイルで指定した送信先メールアドレスに、メールが届いていることを確認できればインストール成功です🎉

正しく動作しない場合の確認事項

  • 「500 Internal Server Error」が表示される

    PHP 5.3 未満のバージョンが使われている可能性があります。PHPのバージョンが動作環境で指定された対象バージョンであることを確認してください。対象バージョンではない場合でもレンタルサーバーの管理画面などでPHPのバージョンを変更出来る場合がありますのでお確かめください。

  • 住所入力支援機能が働かない

    郵便番号を入力しても住所欄に住所が反映されない場合は、PHPモジュールの「PDO」と「PDO_SQLite」が有効になっていることと、 DBディレクトリ内の「zipcode.sqlite」ファイルの読み込み権限があることを確認してください。
    PHPモジュールの設定方法はご利用サーバーのマニュアルをご確認ください。レンタルサーバーによっては設定を変更できない場合があります。

  • メールを受信できない

    送信したメールが迷惑メールフォルダに分類されていないか確認してください。SMTP送信機能を利用することで迷惑メールに分類されるリスクを下げることができます。
    レンタルサーバーによっては、試用期間中はメールの送信が禁止されている場合があります。
    携帯・スマフォのキャリアメールはPCメールの受信許可を設定しても、メールを受信できない場合があります。

  • メール本文の先頭にメールヘッダーの一部が表示される

    メールヘッダーの一部がメール本文の先頭に表示される場合は、改行コード設定(mail.ini の [library] セクションの line_feed 項目)を次のように設定することで現象が改善する場合があります。

    line_feed = lf
    

    ※メールヘッダーの内容は様々ですがたとえば次のような内容が含まれる場合があります。
    Date: Fri, 1 Sep 2017 14:16:54 +0900 (JST)
    ※大塚商会様のアルファメールとカゴヤ・ジャパン様のレンタルサーバーでは、この設定変更により改善したという報告事例があります。

  • 入力した内容が確認画面に表示されない(または文字化けする)

    php.iniで、「 mbstring.encoding_translation = On 」という設定がされていると、入力した内容が消える場合があります。次のように php.ini の設定を変更してください。

    mbstring.encoding_translation = Off
    

    ※同じPHPを使う他のプログラムにも影響を与えますのでご注意ください。

  • 確認画面に遷移せず、入力した内容も表示されない

    mod_rewriteなどを使用して、index.php の場合にファイル名が付かないURLにリダイレクトしている場合にこの現象が発生する可能性があります。

    入力画面と確認画面のform要素のaction属性にリダイレクト後のURLを指定するか、action属性値を空にすることでこの問題を回避できます。

  • 画面に何も表示されない
    ブラウザで入力画面にアクセスした際に画面が白いままで何も表示されない場合は、PHPでテンポラリファイルを作成できない可能性があります。
    open_basedir 設定により /tmp が無効になっているサーバーで上記現象が発生する場合がありました。
    対策としては、php.ini の open_basedir設定を見直してください。php.iniの変更が許可されていないレンタルサーバーの場合はご利用頂けない場合がございます。
  • 「トークンを確認できません。」エラーが表示される
    通常の操作でこのエラーが発生する場合は、PHPのセッション機能が無効になっている場合があります。ご利用サーバーのマニュアルを確認して、セッション機能が有効になるように設定してください。
    ご利用サーバーのマニュアルにセッション機能についての説明が無い場合は、他のWebアプリケーションを動作させるためのPHP設定を行うことで、セッション機能が有効になる場合があります。
  • 「メールの送信可能な上限数に達しています。...」エラーが表示される
    インストール時の初期設定値では同一IPから10時間に10通までしかメールを送信できません。IP別の連続送信制限機能の設定を調整してください。

ライセンスを登録する

メールフォームの画面には著作権者表示とリンク(Powered by MicroEngine)が表示されます。ライセンスを購入するとこれを表示せずに運用することができます。
購入したライセンスをメールフォームに登録する方法を説明します。

  1. ライセンスを購入するとライセンスファイル(license.php)が送付されます。
  2. ライセンスファイルを 設定ディレクトリ(me_mailform/data/config/)配下に保存します。

ライセンスファイル保存場所:

me_mailform/data/config/license.php

必要に応じて、Webサーバーの実行ユーザーが読み取れるように license.php のパーミッションを調整します。
メールフォームの画面を開き、著作権者表示が消えていることを確認できれば、ライセンス登録は完了です。
※同じホストで複数のメールフォームを運用している場合は、それぞれのメールフォームにライセンスを登録します。

著作権者表示(Powered by MicroEngine)をHTMLやCSSやJavaScriptなどによって隠す行為は許諾しておりません。
必ず、ライセンスをお買い求めください。

郵便番号DBファイルを更新する

住所入力支援機能で利用する郵便番号DBファイル(zipcode.sqlite)を最新版に更新する方法について説明します。

  1. ダウンロードページから zipcode.zip をダウンロードする。
  2. 圧縮ファイルの zipcode.zip を展開して、zipcode.sqlite ファイルを取り出す。
  3. メールフォームの db ディレクトリ内の zipcode.sqlite ファイルをダウンロードしたファイルで上書きする。