 |
|
◆ 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は修正不要です。
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 オプション に対応いたしております。
(会員専用のパスワードを発行しています。サポートページからお問い合わせください。) |
【付記】
PHP 中で mail() を使用する場合
mail($to_addr, $subject, $message) ;
というmail functionの場合は、以下になります。
mail($to_addr, $subject, $message ,"-f info@ドメイン名");
※ 通常mailファンクションでは、オプションを追加するときは、オプションを「 "」で囲んでき記します。 |
|
|
|
|
|
|
|
|