プロが教えるわが家の防犯対策術!

sendmailしか聞いたことなかったので、誰か知っている方がいらっしゃいましたら教えて下さい。

sendmailからqmailに変更した場合、
CGIのプログラムも書き換えないといけないんでしょうか?

A 回答 (3件)

>open(MAIL, "| $mailer -t -f'$submit'") ;



$mailerなんですが、sendmailのパスだけになってますよね?
まぁここだけみたらそうなっているはずなんですけど。

とりあえず記述されているソースを見ただけだと、
特に修正の必要はないでしょう。

#2の方のおっしゃっているように複数送信先があるのであればその点に関しては対応が必要だとおもいますが、ないそうですし。


ちょっと難しくなりますが、一応オプションについて記載しておきます。

無視されるオプション
B, -p, -v, -i, -x, -m, -e, -od, -oe, -oi, -om, -bm
これらはあってもなくても問題は起きないです。
ホントに無視されるので。

有効なオプション
-t 受け手をメッセージから読み取ります。To:, Cc:, Bcc: フィ ー ル ド が 受け手のアドレスとして読み込まれます。Bcc: フィールドはメッセージの転送前に削除されます。
-f エンベロープ中の送り手のアドレス
-F 送り手のフルネーム

それ以外に、
-bp, -bs
という2つのオプションもありますが、これらはCGIから使うことはないでしょう。

もしこれら以外のオプションが指定されていたら、エラーとなり動作しません。

>特別なことをしていなければ、「メール送信用やPerlのパスを変更するだけで良い」という事でよろしいのでしょうか?

通常は、sendmailのパスやPerlのパスもサーバ側で対応しているはずなので対応は要らないはずですが、そのあたりはサーバの管理者にしか分からないので、問い合わせてみたほうがよいとおもいます。
告知などで特に変更を指示されていなければ、対応されているとおもいます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

$mailerの部分は、sendmailパスのみになっています。

sendmailパス、perlパスはサーバに問い合わせてみます。

どうもありがとうございました。

お礼日時:2005/08/25 10:48

基本的には、ユーザーのほうで書き換えなければいけない部分はほとんどないはずです。



#1さんが挙げておられる一部オプション以外でひっかかりそうなところとしては、メールの送信先を複数設定する場合に、sendmailでは 'aaa@xxx.com,bbb@xxx,com'のように半角カンマで区切るところを、qmailでは半角スペースで区切らなければいけない点くらいでしょうか。
    • good
    • 0
この回答へのお礼

私の方で行っているのは、送信先が複数ではないので、大丈夫そうです。

回答、ありがとうございました。

お礼日時:2005/08/24 18:07

サーバのMTAをsendmailからqmailに変更した際に、


/use/bin/sendmailをqmailのsendmailラッパーに置き換えているはずですので、
CGIのスクリプト自体は特に変更は必要ないとおもいます。

ただし、qmailのsendmailラッパーで使えるオプションは限られていますので、もし使えないオプションに依存するようなことをしていれば問題が起こるかもしれません。
(まぁ普通はそんなことはしていないとおもいますが)

質問者さんがそのサーバの管理者でなく、利用者にすぎないのであれば、qmailに変更した際に、通常はCGIで呼び出すsendmailもqmailのものに変更されているはずなので、普通はCGIの方で特になにかする必要はないというのが回答になります

この回答への補足

回答ありがとうございます。

「普通はしてない」の範囲がどの程度のものかわからなかったので、補足を付けることにします。

メールの送信内容の書き出しは、以下の様に行っています。

●プログラムより抜粋●
#####メール送信
$head = "From: $submit" . "\n" . "To: $geter" . "\n" . "Subject: $subject" . "\n\n";
open(MAIL, "| $mailer -t -f'$submit'") ;
print MAIL "$head";
print MAIL <<__END__;
################
### お知らせ ###
################
$massage
ファイル名
【$id.csv】($datestr投稿)
__END__

close(MAIL);
●●●●●●●●●●●

特別なことをしていなければ、「メール送信用やPerlのパスを変更するだけで良い」という事でよろしいのでしょうか?

補足日時:2005/08/24 18:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!