*
*
*
◆ BlueQuartzのCGI ◆
*
*
*
*

sendmailをご利用時に、以下のような注意が必要です。

CGIのときPHPのとき



SendMiailでは、メールの返信先(envelope From:)を指定する必要があります。
指定されていないCGIでは、修正が必要です。

sendmailパスを、/usr/sbin/sendmail2 にすることで、-f が不要になる機能は、廃止いたしました。

修正前 sendmail 

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

-f」では、送信エラーが発生したときの返信アドレスを指定します。
info@ドメイン名のところには、必ず使用できるアドレスを指定してください。

sendmail は、Ver8.12へのバージョンアップに伴い、 仮想サーバーで、「-f」が必須となりました。
キャッチオール設定で、「-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を利用したcgiで、「 -f」 に対応する例も増えてきています。
また、クイックサーバーのcgiも、「 -f 」に対応いたしております。

以下に、よく使われるCGIの例を示します。


 1) とほほの WwwMail.cgi  

すでに -f に対応済みです。
修正はいりません。



 2) kent-web の postmail.cgi  

-f に対応済みです。
設定ファイルのinit.cgiで、以下となっていることを確認してください。


80行目前後 1箇所設定確認
 設定前
#sendmailへの-fコマンド(プロバイダ仕様確認)
$cf_{send_cmd} = 0;
設定後
#sendmailへの-fコマンド(プロバイダ仕様確認)
$cf_{send_cmd} = 1;



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

新らしい sendmail を採用しているため、以下のように変更が必要です。
sendmail は、Ver8.12へのバージョンアップに伴い、 仮想サーバーで、「-f」が必須となりました。
キャッチオールで、「-f」不要にできますが、同時に迷惑メールも大量受信するため、当社では採用しません。


CGI同様に「-f」で、メールの返信先(envelope From:)を指定します。

mail()
の例
 修正前
   mail($to_addr, $subject, $body, $header) ;
 修正後
   mail($to_addr, $subject, $body, $header ,"-f  info@ドメイン名");

sendmail() の例
 修正前
   sendmail($to_addr, $subject, $body, $header) ;
 修正後
   sendmail($to_addr, $subject, $body, $header ,"-f  info@ドメイン名");

mb_sendmil()の例
 修正前
   mb_sendmail($to_addr, $subject, $body, $header) ;

 修正後
   mb_sendmail($to_addr, $subject, $body, $header ,"-f  info@ドメイン名");

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

-f」では、送信エラーが発生したときの連絡先アドレスを指定します。
info@ドメイン名のところには、使用できるアドレスを指定してください。
mb_sendmailでは、サーバー環境の変化で文字化けが起きることがあります。
PHPの文字化け対策について知識をお持ちでない場合、mb_sendmailの使用はお勧めしません。

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