とりあえず、動作するようにしてみましょう。ここでは、同梱されているフォーム HTMLや、事前に設定されている設置内容をもとに、必要最低限の設定をご案内します。以下の順に従って、CGI を動作させて下さい。
とりあえず、動作するようにしてみましょう。ここでは、同梱されているフォーム HTMLや、事前に設定されている設置内容をもとに、必要最低限の設定をご案内します。以下の順に従って、CGI を動作させて下さい。
本CGIは、Perlスクリプトで作られております。CGIファイルの1行目に、ご利用のサーバにインストールされているPerl本体のパスを記述してあげなければいけません。テキストエディターを使ってmpmail.cgi を開いて下さい。1 行目には、#!/usr/bin/perl と書かれているはずです。この行を、ご利用のサーバの環境に合わせて書き換えて下さい。ほとんどのサーバでは、書き換える必要は無いはずですが、一部のサーバでは、異なるPerlのパスになっている場合があります。ご利用のサーバのPerlのパスが分からない場合には、事前に、ご利用のサーバ事業者にお問い合わせ下さい。
フォルダー mpmail をそのままサーバへアップロードしてください。ただし、転送モードとパーミッションには注意してください。転送モードはすべて ASCII モードです。サーバにアップロードしたら、下表の通りにフォルダーやファイルのパーミッション(属性)を適切に変更して下さい。
|
■ 転送先
フォルダー mpmail を、転送モードに注意して、ご利用のサーバにあわせて適切な場所にアップロードしてください。
■ 属性(パーミッション)
上表に記載されているパーミッションは、あくまでも例です。お使いのプロバイダー、ホスティングサービス事業者の指示に従ってください。
上表では、属性(パーミッション)を2種類掲載しております。CGIが所有者(オーナー)権限で実行されるサーバをおいの場合には、属性1の設定を使ってください。CGI がohter権限(所有者とは別の権限)で実行されるサーバをお使いの場合には、属性2の設定を使ってください。
CGI が所有者(オーナー)権限で実行されるか、other権限で実行されるかは、お使いのレンタルサーバ事業者に確認してください。おおむね、CGIファイルの属性(パーミッション)が704でも動作する場合には、所有者(オーナー)権限で実行されると考えても結構です。CGIファイルの属性(パーミッション)が705もしくは707でないと動作しない場合には、other権限で実行されているとお考えください。
「変更不要」と指定しているファイルは、サーバにアップロードするだけで OK です。あえてパーミッションを変更しないでください。
MP Form Mail CGI Standard版は、フォームから投稿が完了すると、設定で指定されたページへリダイレクトします。そのリダイレクト先となるページを事前に用意しておいて頂く必要があります。投稿してくれたことに対する謝辞や、各種ご案内を掲載したページにするのが良いでしょう。この完了画面を作成していただき、サーバにアップロードしてください。アップロードする場所は、通常のHTMLファイルが画像ファイルを設置するところであれば、どこでも構いません。
もしこのリダイレクト先URLが存在しないと、フォームから投稿した後、エラーとなってしまいますので、必ず、ご用意下さい。
mpmail フォルダー内に、config フォルダーがあります。この中に config.cgi がありますが、これが CGI の設定ファイルです。config.cgi をテキストエディターで開いてください。すべて設定は、このファイルで指定します。ここではとりあえず動かしてみるだけですので、最小限の設定をご案内します。
フォームから送信されたメールを受け取るメールアドレスの指定です。あなたのメールアドレスを指定して下さい。
先ほど準備したリダイレクト先ページ(完了画面)のURLを指定して下さい。必ず、http:// から指定して下さい。
自動返信メールの差出人のメールアドレスの指定です。あなたのメールアドレスを指定して下さい。
config.cgi の編集が終わったら、再度、FTPでサーバに上書きでアップロードしてください。必ず、お使いのFTPソフトにて、ASCII(テキスト)モードを明示的に指定した上で、転送してください。BINARYモードや転送モード自動認識機能を使うと、正しく動作しませんので、ご注意下さい。
フォーム HTML を用意します。同梱の form.html をテキストエディターで開いて下さい。form.html は、mpmailフォルダーの直下にあります。
| <form action="mpmail.cgi" method="post" enctype="multipart/form-data"> |
この記述の mpmail.cgi の部分を、サーバに設置した mpmail.cgi の URL に書き換えてください。
form タグ内には、必ず、enctype="multipart/form-data" を加えてください。これがないと、添付ファイルを送ることができません。添付ファイルが不要の場合には、enctype 属性は不要です。
以上でフォーム HTML の準備は完了です。form.html をサーバにアップロードして下さい。アップロードする場所は、通常の HTML ファイルを設置する場所であれば、どこでも構いません。
サーバへアップロードした「form.html」に、ブラウザーでアクセスしてみてください。下図のフォームサンプル画面が表示されます。
各項目に必要事項を記入して、「次へ」ボタンを押してください。下図の確認画面が表示されるはずです。ただし、ファイルを添付した場合には、確認画面が表示されません。
最後に「送信」ボタンを押すと、先ほど事前に用意した完了画面が表示されます。そして、設定ファイル config.cgi で設定したメール送信先アドレスに、通知メールが届きます。さらに、フォームで入力したメールアドレス宛には、自動返信メールが届くはずです。
再度、フォーム(form.html)にアクセスして、今度は、何かファイルを添付して送信してみてください。確認画面は表示されませんが、完了画面が表示されるはずです。そして、設定ファイル config.cgi で設定したメール送信先アドレスに、ファイルが添付された通知メールが届きます。
以上で CGI の動作確認が完了いたしました。これまではとりあえず CGI が動作するかどうかを確認しただけですので、改めて、貴サイトにあわせて、本番環境の準備を行ってください。
もし正常に動作しなかった場合には、下記のトラブルシューティングの欄をご覧ください。
前述の動作確認で、正常に動作しなかった場合には、以下のポイントを再度確認してください。
▼ フォームHTMLに必要事項を記入し、「次へ」ボタンを押したら、404 Not Found と表示された。
もしファイルを添付していないにも関わらず、この現象が発生したら、フォームHTMLのform.htmlに記述したformタグのaction属性値が間違っていると思われます。action属性値には、mpmail.cgiの正しいURLを指定しなければいけません。再度、「■フォームHTMLの編集」欄をご覧下さい。
ファイルを添付した場合には、もう一つの原因も考えられます。それは完了画面のURLの設定ミスです。事前に完了画面のHTMLをご準備頂き、サーバにアップロードしていただいているはずですが、そのURLが、設定ファイル mpmail/conf/config.cgi で設定したリダイレクト先URLと異なっていると思われます。再度、設定ファイル mpmail/conf/config.cgi を確認して、正しいリダイレクト先URLを設定してください。
▼ フォームHTMLに必要事項を記入し、「次へ」ボタンを押したら、500 Internal Server Error と表示された。
CGIの設定が正しく行われなかったこと意味します。再度、「■Perlのパス設定」および「■サーバへアップロード」欄をご覧頂き、間違いがないかをご確認ください。特に、FTPの転送モード、パーミッションには気をつけてください。
▼ 完了画面まで表示されたが、メールが届かない
まずは、ご利用のサーバにて、sendmailがインストールされているかを、サーバ事業者にお問い合わせ下さい。sendmailがインストールされていたとしても、サーバ事業者によっては、メール送信を許可していない場合もあります。この点に関してもあわせてサーバ事業者にお問い合わせ下さい。sendmailがインストールされていない場合、もしくはインストールされていはいるものの、CGIからのメール送信を許可していない場合には、残念ながら、本CGIをご利用いただくことはできません。また、Windowsサーバの場合も同様です。
上記条件を満たしているにもかかわらず、メールが届かない理由として、sendmailのパスが正しく認識できなかったことが考えられます。MP Form Mail CGI は、sendmailの場所(パス)がサーバ内のどこなのかを、自動的に認識するようになっております。しかし、一部のサーバでは、sendmailがどこにあるのかを判別できず、メールが遅れない場合があります。この場合には、設定ファイル mpmail/confi/config.cgi の下のほうにある「■sendmailの指定」という欄をご覧下さい。何も指定されていないはずですが、ここに明示的に、ご利用のサーバにインストールされているsendmailのパスを指定してください。
▼ 確認画面や、送られてきたメールが文字化けする
フォームHTMLの文字コード(charset)は、Shift_JISになっているかを確認してください。本CGIは、フォームHTMLの文字コードがShift_JISであることを前提に作られております。もしEUC-JPやUTF-8でフォームHTMLを作成してしまうと、すべてが文字化けてしまいますので、ご注意ください。