*
*
*
◆ BlueQuartz(およびBlue Net/ Powerd Blue)のCGI ◆
*
*
*
*

BlueQuartzは、Raq550上位互換ではありますが、CGIの仕様には、以下のような違いがあります。ご注意ください。


 
■ 一部サーバーでは、cgi-bin というディレクトリ(フォルダ)名は使用できません。

対象サーバー機種:PowerBlue/PlueNet のみ

ご注意 cgi-bin というディレクトリは、FTPで問題なく作成可能です。ただし、参照したり、CGIを実行することはできなくなることがあります。基本的にこの名前のディレクトリは作らないで下さい。


 SendMiail で f オプションが必須になります

対象サーバー機種:PowerBlue/PlueNetおよびBlueQuartz

新らしい sendmail を採用しているため、以下のように変更が必要です。
 
修正前 sendmail 

修正例 sndmail -f info@ドメイン名 

info@ドメイン名は使用できるメールアドレスである必要があります。
 -fは、メールエラーが発生したときなどに、そのエラーを送るアドレスを指定します。


ご注意
-t オプションが使用されているCGIでは、以下のようになります。

修正前 sendmail  -t

修正例 sndmail -f info@ドメイン名 -t

CGIプログラムの " (ダブルクォーテーション)の中では、メールアドレスを指定する際に @ の前に をつけて表記する必要があります。したがって、次のように修正しないといけない時もあります。
なお、’(シングルクオーテーション)のなかでは \ は不要です。


 修正例2 "sndmail -f info\@ドメイン名" 

 修正例2 "sndmail -f info\@ドメイン名 -t " 


一部の汎用cgiでは、sendmailを、最初に別な関数に定義しなおして使用していることがあります。このような場合は、置き換え部分でなく、実行部分に -f をつける必要があります。


 #!/usr/bin/perl 
  ・
  ・
 # 定義しなおし部分
 $mailcmd = '/user/sbin/sendmail';  <=(注意) ここで修正ではない!!
  ・
  ・
 # sendmail実行部分
 $mailcmd  -f info\@ドメイン名 <= ここだけ修正
    ・
   ・
  end
※  "(ダブルクォーテーション)で囲まれた中でを使用する際は前にが必要です。

SendMail は、Ver8.12へのバージョンアップに伴い、 仮想サーバーでは、-f オプションが必須となりました。
-f で指定したメールアドレスは、エラー返信メ-ルの宛先です。必ずしも「info@ドメイン名」である必要はありませんが、存在するメールアドレスを使用してください。
-t は、メール送信先をメッセージ内で指定するスクリプトの場合、一般的に必須となります。

 CGI のsendmail 部分の修正例

以下に、よく使われるCGIの修正例を示します。
なお、当社のフリーCGIは修正不要です。

 1) とほほのwwwmail.cgi  

Ver3.28から -f オプションが標準になります。
通常のPERLの場所のやsendmailのパスの設定以外、修正の必要はありません。

過去のバージョンをご利用の場合は、修正するか、バージョンアップが必要です。
Ver3.26の場合の場合は以下のような修正が必要です。

175行目あたり -f オプション対応
  修正前:
    unless (open(OUT, "| $mailcmd -t")) {
  修正後:
   unless (open(OUT, "| $mailcmd -f info\@ドメイン名 -t")) {

ほかに、ご利用になるメールアドレス等、必要なセットをお願いします。


 2) kent-webのpostmail.cgi Ver4.11の場合 


498行目付近 -f オプション対応
 修正前
   open(MAIL,"| $sendmail -t") || &error("メール送信失敗");
 修正後
   open(MAIL,"| $sendmail -f info\@ドメイン名 -t") || &error("メール送信失敗"); 

この3つのほかに、ご利用になるメールアドレス等の設定値をセットお願いします。


【付記】
 sendmailを利用したcgiで、 -f オプション に対応する例も増えてきています。
 また、クイックサーバーのcgiも  -f オプション に対応いたしております。

クイックサーバーのフリーCGI

  (会員専用のパスワードを発行しています。サポートページからお問い合わせください。)


【付記】
 PHP 中で mail() を使用する場合

mail($to_addr, $subject, $message) ;

というmail functionの場合は、以下になります。

mail($to_addr, $subject, $message ,"-f  info@ドメイン名");

※ 通常mailファンクションでは、オプションを追加するときは、オプションを「 "」で囲んでき記します。

/ 閉じる / レンタルサーバー、ドメイン取得ならクイックサーバー /