CGI-BBS > UNIX > Sendmail > SendmailでCGIからの送信がDeferredでtimeoutになってしまう。


カレッヂ
カレッヂ


質問者 かば  投稿日 2/27(木) 00:31:24
Perlで書いたCGIで次のようにsendmailを利用しています。
    open( MAIL, "| /usr/bin/nkf -j| /usr/lib/sendmail aaa@bbb.ccc" );
    print MAIL "Subject: test mail\n";
    print MAIL "\n";
    print MAIL "本文\n";
    print MAIL "\n以上\n";
    close( MAIL );
この書き方でSolarisのサーバーではメール送信できるのですが、RedHat 8.0ではメールが届きません。
メールのログを見ると、stat=Deferredでtimeoutしています。
RedHatに入っているsendmailだとcloseだけではsendmailコマンドが完了したことにならないのか?
とも思いましたが、ネットを検索してもそんな記述は見つけられませんでした。
試しにLinuxのコマンドラインからもsendmailをやってみましたが同様です。
また、Evolutionではメールの送受信ができているので、メールサーバーが動いていないというのも考えられません。
ちなみにCGIのデバッグ環境なので、httpサーバー、メールの送信・受信とも同じPCです。
何か思い当たることがあれば教えていただけませんか?

プロバイダ参照:
サーバのOS:UNIXサーバ
パソコンのOS:UNIX
エディタ:viまたは秀丸
FTPソフト:ホームページ・ビルダーの付属ソフト
サーバ移転:した
改造:している
CGI習熟度:expert

回答者 やまだ  [削除]  投稿日 2/28(金) 00:32:21
redhatは、たしか標準のMTAでpostfixを採用しているかと思います。
その設定は、されたのでしょうか?ちなみにsendmail,qmailよりは、簡単に設定できると思います。

>また、Evolutionではメールの送受信ができているので、メールサーバーが動いていないというのも考えられません。
evolutionは、使ったことがないのでよくは知りませんが、sendmailwrapperも備えているのでしょうか?
質問者 かば  [削除]  投稿日 2/28(金) 18:59:46
返信ありがとうございます。

サーバー管理者やスーパーユーザーの経験もないのに、自作CGIのデバッグ用に
古PCにLinuxをインストールしたばかりなので、無知で恥ずかしい限りです。
mailはsendmailと決めてかかり、postfixの名前も知りませんでした。

調べたところ、RedHatにはpostfixとsendmailの両方が入っていて、sendmailが
デフォルトのようです。
初心者にはpostfixの方が良さそうなのでpostfixに乗り換えようと思います。
要はこの質問の冒頭に書いたようなPerlスクリプトでメールが送信できれば
良いので、簡単に越したことはありません。

PostfixもSendmailWrapperも知りませんでしたが、こうしてご回答をいただけ
ると次に調べる取っ掛かりになって助かります。
 


返信(回答)する

このページは終了したので返信(回答)は書きこめません
 


Web裏技