• ベストアンサー

sendmailはどれを使うのが正しいのでしょうか?

CGIプログラミングを勉強し始めて数ヶ月の初心者です。 会社のサーバー(DOS-VマシンにNetBSDをインストールしたWEBサーバー)で、処理結果をメールで送るCGIプログラムをつくっています。 sendmeilを使って処理させようと思うのですが、社内では、別のPC(DOS-VマシンにFreeBSDをインストール)でMailサーバーを稼動させています。 この場合、sendmailはWEBサーバーにあるものを使うのでしょうか?それともMailサーバーのものを使わなければならないのでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

semdmail は、そのプログラムが apache などのように常に実行されて他のマシンとのやりとりを行う役目(サーバ)を行うために動き続けているほか、一つ一つの必要な処理を行うためにその都度動作をするという動き方があります。前者はデーモンとして実行され、後者はコマンドとして実行されます。 MTA/MUA という違いで考えれば、前者が MTA で後者が MUA としての sendmail の働き方ということになりましょうか。 今回、CGI から出力結果をメールで送付する際に利用するのは、後者としての sendmail ですので、Web サーバとしての機能を果たす NetBSD マシンの中の sendmail で十分です。社内の Mail サーバとして動いている FreeBSD マシンにやらせてもいいですが、その処理を実行するためには結局 NetBSD マシンの sendmail を使って FreeBSD マシンとやり取りをさせることになるので、あまり意味はないでしょうね。 ●●サーバというものが機能や使い方をあらわすものであって、 FreeBSD なり NetBSD なり Windows 2003 Server なり何らかの OS を使って動かしっぱなしにしているコンピュータであり、使い方によって複数のサービスを取捨選択することができるんだという考え方をするとわかりやすくなるかもしれません。

deepsfx
質問者

お礼

早速のご回答、誠にありがとうございます。 非常にわかりやすいご説明、大変感謝しております。今までプログラムとは縁遠かった上、サーバーの考え方もよくわからず四苦八苦しております。考え方のアドバイスも非常に参考になりました。

その他の回答 (1)

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.1

SMTPの仕組みをよく理解してください。 どのMTAを使わなければならないのかは、そのネットワークの管理者の方針によります。 多くはCGIからメール送信する場合は、CGIを実行しているマシンのMTAに配送してもらうのが普通ですが、CGIプログラムが自力配送するプログラムも(理屈では)可能です、やましい事が無ければそんな事は普通やりませんけれど。

deepsfx
質問者

お礼

早速のアドバイス、誠にありがとうございます。 SMPTについても、勉強はしているのですが、今ひとつ理解ができません。もっと勉強しないとだめですね。。