MP Form Mail CGIに関する質問

  1. 確認画面が表示された後、送信しようとすると、エラーがでる。
  2. 送られたはずのメールが届かない。
  3. 添付ファイルを送ると、エラーが出る。
  4. Dreamcastでメールが送れない。
  5. 「外部サーバからの利用禁止設定」をしているが、外部サーバではないのにエラーが出る。
  6. 「自動返信メール設定」をONにしたら、エラーが出てメールが送れない。
  7. 送られてくるメールの内容をカスタマイズしたいのですが。
  8. メールは届くけれども、フォームで送ったファイルが添付されてこない。
  9. 2 つ以上の添付ファイルを送れますか?
  10. メールの宛先を 2 以上指定できますか?
  11. 2 つ以上のフォームを、1 つの CGI で利用できますか?
  12. $name属性$ が変換されずにメールが送られてしまう。
  13. 外部サーバからの利用禁止設定をしているが、指定のサーバからアクセスしたにも関わらずエラーとなる
  14. 複数のファイルを添付する場合にはどうすればよいですか? (Professional 版)
  15. 管理者IDとパスワードを忘れてしまったのですが (Professional 版)

1. 確認画面が表示された後、送信しようとすると、エラーがでる。

  1. 設定ファイル「mpconfig.cgi」のリダイレクト先URLの指定は正しく設定されていますか? かならず http:// から指定して下さい。

    #--------------------------------------------------------------------
    #■リダイレクト先URL
    # フォームから送信した後に表示されるページのURLを指定します。
    # 必ず、http:// から指定して下さい。
    #--------------------------------------------------------------------
    $RedirectUrl = 'http://www.bar.co.jp/~hoge/thanx.html';
  2. ご利用のサーバが CGI Wrapper を実装している場合に、うまくいかない場合があります。この場合には、確認画面用テンプレートファイル「confirm.html」を以下のとおり、書き換えて下さい。

    • <form> タグの1行前に、<!--<!--cgiurl-->--> を書き足して下さい。
    • <form> タグ内の action 指定には、<!--cgiurl--> となっているはずですが、ここにはフォーム用 HTML に記載した CGI の URL と同じものに書き換えてください。
    <!--<!--cgiurl-->-->
    <form method="POST" action="http://www.foo.com/bar/mpmail/mpmail.cgi" 
    enctype="multipart/form-data">

2. 送られたはずのメールが届かない。

  1. 設定ファイル「mpconfig.cgi」の「メール送信先アドレスの設定」が正しく設定されているかを確認して下さい。ここの指定が間違っているとメールが届きません。

    #--------------------------------------------------------------------
    #■メール送信先アドレスの設定
    # フォームから送信されたメールを受信するメールアドレスを指定して下さ
    # い。フォームから送られたメールは、ここで指定するメールアドレスに届
    # きます。
    #--------------------------------------------------------------------
    $MailTo = 'hoge@foo.bar.co.jp';
  2. 設定ファイル「mpconfig.cgi」の「sendmailの指定」が正しく設定されているかを確認して下さい。必ずフルパスで指定して下さい。もし分からない場合には、お使いのプロバイダーもしくはレンタルサーバ業者にお問い合わせください。

    #--------------------------------------------------------------------
    #■sendmailの指定(フルパスで指定して下さい。)
    # sendmailのパスは、お使いのプロバイダにお尋ねください。
    #--------------------------------------------------------------------
    $Sendmail = '/usr/lib/sendmail';

3. 添付ファイルを送ると、エラーが出る。

添付ファイルは、必ずサーバ上に一時的に保存されます。もしお使いのサーバの契約容量に空きがないと、正しく添付ファイルを送信することができません。お使いのサーバの容量の空きがあるかどうかを確認して下さい。また一時的に作成された添付ファイルを、サーバに保存する機能を有しておりますが、もしこの機能が ON になっていた場合には、OFFにすることをお勧めします(デフォルトでは OFF です。)。設定ファイル「mpconfig.pl」をご確認ください。

#--------------------------------------------------------------------
#■添付ファイル削除設定
# 添付ファイルがある場合には、暫定的にファイルを作成しますが、そのフ
# ァイルを削除するかどうかを設定します。プロバイダーでの契約容量を無
# 駄に消費しますので、削除することをお勧めします。
# 0:残す
# 1:削除する
#--------------------------------------------------------------------
$AttachmentDelFlag = 1;

4. Dreamcastでメールが送れない。

Dreamcast は、添付ファイルを送信するフォームに対応しておりません。Dreamcast でもメールを送信できるようにするためには、添付ファイルを送信するフォームを削除して下さい。また、form タグ内の enctype="multipart/form-data" も削除して下さい。なお、Dreamcast に限らず、添付ファイルを送信するフォームに対応していないブラウザーはすべて該当いたします。主に、非 PC インターネット端末に多く見受けられます。

■修正前
<form method="POST" action="http://www.hoge.com/cgi-bin/mpmail/mpmail.cgi" enctype="multipart/form-data">
■修正後
<form method="POST" action="http://www.futomi.com/cgi-bin/sample/mpmail/mpmail.cgi"> 

5. 「外部サーバからの利用禁止設定」をしているが、外部サーバではないのにエラーが出る。

外部サーバからの利用禁止設定機能は、ブラウザーが送ってくる参照元URL(HTTP_REFERER)を使っています。HTTP_REFERERを送信しないブラウザーからアクセスした場合、エラーとなってしまいますので、ご注意ください。(i-modeなど)

6. 「自動返信メール設定」をONにしたら、エラーが出てメールが送れない。

自動返信メール機能は、送信元メールアドレスの設定がされていないと動作しないようになっております。設定ファイル「mpconfig.cgi」の「自動返信メール用送信元メールアドレス」を正しく指定して下さい。デフォルトでは、未設定となっております。

#--------------------------------------------------------------------
#■自動返信メール用送信元メールアドレス
# 自動返信メールの差出人となるメールアドレスの設定です。主に、あなた
# のメールアドレスを設定することとなります。
# 自動返信メール設定をONにする場合は、必ず正しいメールアドレスを指定
# して下さい。
# 例:
# $FromAddrForReply = 'for@hoge.com';
#--------------------------------------------------------------------
$FromAddrForReply = '';

7. 送られてくるメールの内容をカスタマイズしたいのですが。

Ver2.2 よりフォームから送られたメールの内容をカスタマイズできるようになりました。内容をカスタマイズしたい場合には、Ver2.2以降にバージョンアップしてください。カスタマイズの方法は、MP Form Mail CGIの説明ページをご覧下さい。

8. メールは届くけれども、フォームで送ったファイルが添付されてこない。

メールフォームのHTMLの記述に問題があると想定されます。formタグを見てみてください。

<form action="/cgi-bin/mpmail/mpmail.cgi" method="POST" enctype="multipart/form-data">

のようになっていますでしょうか。actionの部分は、mpmail.cgiを設置したURLとなりますので異なりますが、その後の、enctype="multipart/form-data" は必須です。これがないと、サーバにファイルがアップロードされませんので、ご注意ください。添付機能を使わない場合には、この記述は不要です。

9. 2 つ以上の添付ファイルを送れますか?

Standard 版では、送れません。フォーム HTML にて 2 つの添付ファイルを設定できるようにしても、CGI 側では 1 つしか処理できませんのでご注意下さい。もし複数のファイルを添付してご利用になりたい場合には、Professional版もしくはeCommerce版をご検討下さい。MP Form Mail CGI シリーズのグレード比較表もあわせてご覧下さい。

10. メールの宛先を 2 以上指定できますか?

Standard版であれば、指定可能です。

設定ファイル mpconfig.cgi をテキストエディタで開いてください。「■メール送信先アドレスの設定」において、それぞれのメールアドレスをカンマで区切って指定して下さい。例えば、foo@futomi.com と、bar@futomi.com という2つのメールアドレスを指定する場合には、以下の通りとなります。

#--------------------------------------------------------------------
#■メール送信先アドレスの設定
# フォームから送信されたメールを受信するメールアドレスを指定して下さ
# い。フォームから送られたメールは、ここで指定するメールアドレスに届
# きます。
#--------------------------------------------------------------------
$MailTo = 'foo@futomi.com,bar@futomi.com';

11. 2 つ以上のフォームを、1 つの CGI で利用できますか?

できません。

複数のフォームを用意したい場合には、それぞれに MP Form Mail CGI を設置してください。MP Form Mail 用のディレクトリ名を、mpmail1, mpmail2 などのように、名前を変えて設置してください。

12. $name属性$ が変換されずにメールが送られてしまう。

チェックボックスやラジオボタンで、何も選択されたかった場合に起こる現象です。これはフォーム HTML の工夫で回避できます。たとえば、以下の入力フォームがあったとします。

入力フォーム
チェック 1
チェック 2
ソース
<input type="checkbox" name="test" value="ON">チェック 1<br>
<input type="checkbox" name="test" value="ON">チェック 2

上記例では、name 属性値を test としています。チェックされなかった場合にでも $name属性$ が変換されるようにするためには、HTML ソースに以下の 1 行を加えます。加える場所は、上記ソースの 1 行前あたりで結構です。

<input type="hidden" name="test" value="">

 こうすることにより、CGI 側にて name 属性値 test が存在することを認識することができ、何も選択されなかった場合でも、$name属性$ を変換することができるようになります。

13. 外部サーバからの利用禁止設定をしているが、指定のサーバからアクセスしたにも関わらずエラーとなる。

「外部サーバからの利用禁止設定」は、ブラウザーが送ってくる参照元URL(HTTP_REFERER)を使っています。もしこの機能を使った場合、HTTP_REFERERを送信しないブラウザーからアクセスした場合、指定の URL からのアクセスだったとしても、エラーとなってしまいます。Norton Internet Security 等のファイアーウォールソフトの設定によっては、HTTP_REFERER が遮断される場合がありますが、この場合にも同様の現象が起こります。

もし、頻繁にこの現象が発生するユーザが出てきた場合には、この機能を無効にして下さい。

14. 複数のファイルを添付する場合にはどうすればよいですか? (Professional 版)

 複数のファイル添付をする場合には、フォーム HTML に記述する name 属性値を、"attachment1", "attachment2", "attachment3" ・・・ といった具合に、"attachment"の後ろに半角数字を加えて下さい。それぞれの添付ファイルの name 属性値が重ならないよう注意して下さい。

 管理メニューの項目設定では、通常、添付ファイルの name 属性値を定義する必要はありません。しかし、ファイル添付を必須といしたい場合には、あえて項目設定で登録して下さい。そして、必須設定で「必須とする」すれば、必須とすることができます。

15. 管理者IDとパスワードを忘れてしまったのですが (Professional 版)

以下の手順で、管理者 ID とパスワードを初期化することが可能です。

  1. サーバに設置されている mpmail ディレクトリ内の conf ディレクトリ内に、mpconfig.cgi というファイルがあります。これをFTP ソフトを使って、ASCII モード(テキストモード)でダウンロードして下さい。
  2. テキストエディタで mpconfig.cgi を開いて、「PASSWORD タブ xxxxxxx」となっている部分から「xxxxxxx」の部分を削除して「PASSWORD タブ 」にして、上書き保存してください。「xxxxxxx」は暗号化されたパスワードです。
  3. さらに、「USER_NAME タブ xxxxxxx」となっている部分から「xxxxxxx」の部分を削除して「USER_NAME タブ 」にして、上書き保存してください。
  4. config.cgi を ASCII モードでサーバにアップロードしてください。バイナリーモードで転送すると、正しく動作しませんので、ご注意ください。

これで、管理者 ID とパスワードのみを初期化した状態になります。ブラウザーで admin.cgi にアクセスすると、再度パスワードを設定する画面が出てきますので、パスワードを設定して下さい。その他の設定に関しては、そのままの状態で残りますので、ご安心ください。