• ベストアンサー

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

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

  • CGI
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
回答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についても、勉強はしているのですが、今ひとつ理解ができません。もっと勉強しないとだめですね。。

関連するQ&A

  • sendmailの動作確認

    CGIプログラムを勉強し始めて、まだ数ヶ月の初心者です。 CGIの処理結果をメールで返すというプログラムをつくっているのですが、sendmailでサーバーエラーを起こしているようです。 サーバー自体は、DOS_VマシンにNetBSDを入れたものです。WEBサーバーとして問題なく動いています。 会社のサーバーなのですが、作り上げた担当者はもうおらず、どういう構成になっているか詳しいところまではよくわかりません。sendmailのパスはわかり、それで単純にメールを返すようなプログラムを組んでみたのですが、それでもサーバーエラーになります。 プログラムは以下のような簡単なものです。 #!/usr/bin/perl $sendmail = '/usr/sbin/sendmail'; $to = 'aaaa@bbbb.jp'; $from = 'cccc@dddd.jp'; $subject = 'TEST'; $mes = <<"EOF"; TEST MAIL EOF open(MAIL, "| $sendmail -t"); print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n"; print MAIL $mes; close(MAIL); exit; プログラム的におかしなところはありますでしょうか? 実際、sendmail自体がちゃんと動作しているのかもわかりません。確認する方法というものはあるのでしょうか? よろしくお願いいたします。

  • freeBSD6.0で sendmail8.13.4が動かない

    教えてください。freeBSD6.0でにsendmail8.13.4をインストールしました。 下記の通り、sendmailは起動していますし、このマシンにログインして、 telnet localhost smtpにより接続して、他のメールサーにメールを送ることも可能です。しかし、他のマシンから本マシンへはポート25指定で接続できません。ポートスキャンしてもポート25は、開いていません。 何が問題なのでしょうか? よろしくお願いします。 484 ?? Ss 0:00.38 sendmail: accepting connections (sendmail) 488 ?? Is 0:00.01 sendmail: Queue runner@00:30:00 for /var/spool/clientmqueue (sendmail)

  • 【fedora7】 sendmail+メールフォーム これで稼動できるのだろうか

    fedora7でapacheを立ててサーバーを運営しているのですが、 メールアドレス直接掲載では迷惑メールの爆撃が来るため、メールフォームCGIを利用しようと思い立ちました。 調査するうちに、sendmailというMTAが必要と分かったのですが・・・どうにも不安なのです。 ●現在までに行った操作(1~2がWindows上、3~4がfedora上) 1. メールフォームCGIデータのダウンロード 2. メールフォームを稼動させるHTMLの作成、CGI側の設定 3. sendmailのインストール(バージョン8.14.1-2)※fedoraインストール時に入っていました 4. sendmailの設定ファイル等は一切いじっていない 5. chkconfigによるsendmailの自動起動を設定 ここまでの手順の後にHTMLとCGIをアップして実際に試験稼動(送信テスト)した場合、何か問題は起こるのでしょうか? それともここまでの手順のみでメールフォームの稼動はできるのでしょうか? sendmailの実行パスとCGIのsendmail呼び出しパスは、 /usr/sbin/sendmail で合わせています。 前もって調べたところ、sendmailの設定はとてつもなく複雑(viでの編集は危険とのこと)らしく、 中身がまったく分からないため闇雲な手出しができない状態です。 できれば早い段階で稼動させたいので、ご教授お願いいたします。 ※「●●(キーワード)でググれ」とか「自分で検索しろ」とか「それぐらい調べろよ」とか、あまりに無責任なは一切無しでお願いします。 あれこれググって調べた結果、余計にこんがらがってわけ分かんなくなってしまったからここに来たんですもの・・・。

  • sendmail

    フォームメールのcgiを自宅サーバーで作成しようと して、サンプルのcgiを実行しようとおもったのですが、sendmailのパスを設定してくださいとあるのですがsendmailがどこにもありません。どこから入手すればよいのですか?サーバーはwindowsです。 サンプルcgiは、10日でおぼえるPerl/CGIの第5日4時限目のとこです。 よろしくお願いします。 当方はperl初心者です。

    • ベストアンサー
    • Perl
  • Sendmailについて

    自分のホームページに、メールフォームを設置したいので、Sendmailをしようしたいのです。 そのため、CGIを探しています。 それとも、サーバーのSendmail機能を利用する方がいいのでしょうか? いずれかの方法をどうか、教えてください。

    • 締切済み
    • CGI
  • メールとウェブサーバーが別マシンで構成されたフォームメールの設定

    http://www.kent-web.com/data/postmail.html ↑ ここに書かれているCGI・Perlにてフォームメールの設定をしようとしているのですが、メールプログラムまでのパスを指定で分からなくなりました。 # メールプログラムの指定 $mailprog = "/usr/lib/sendmail"; マシーン構成は、DNS・sendmailはTurbolinuxで、WebサーバーはApacheでWidows2000の環境になっています。 つまり、Webサーバーにcgi・perlの定義をしていて、別マシーンにsendmailが動いている状況です。 そもそも、Web・メールサーバーが同一マシン上でないとフォームメールができないのかも知れませんが、そのあたりのアドバイスもお願いします。

    • ベストアンサー
    • CGI
  • sendmailのしくみ

    OCN無料サーバーで CGI sendmailがありますが(独自CGI不可)  個別のページに 問合せ送信ボタンを付け それぞれ 違う メールアドレスに問合せ内容を送ることは可能なのでしょうか?

  • sendmailで、MSPとMSAだけを動かしたいのですが

    FreeBSD5.4でSendmailを起動しないようにしているのですが、CRONが送るメールだけは他のサーバーに送信したいので、MSPとMSAだけを動かしたいのですが、どのようなコマンドになるかわかりません。教えていただけないでしょうか。

  • SendMailを使用しないメール送信CGI

    Webブラウザよりメールを送信するようなCGIは たいていサーバー側のSendmailの機能を利用していますが、 その機能を利用しないメールを送信するCGIがあったら、 ご紹介ください。

    • ベストアンサー
    • CGI
  • FreeBSDでのsendmailでのメール送信

    はじめまして FreeBSD11.0で自前サーバ構築をしています。 今回、サーバ上からsendmailで、下記ページを参考にメールを送信を試みています。 ・http://x68000.q-e-d.net/~68user/unix/pickup?sendmail FreeBSD11.0上での作業は、以下の通りです。 1. /etc/rc.confに下記を追加 sendmail_enable="YES" 2. リブート 3. sendmailが動作していることを下記で確認 # /etc/rc.d/sendmail status sendmail is running as pid 713. sendmail_msp_queue is running as pid 716. # 4. sendmailコマンドを実行 % sendmail From:送信元メールアドレス To:宛先メールアドレス Subject:タイトル xxx . % ●結果、コマンドは、正常に終了してますが、メールは、送信できません。 試しに自分の契約しているレンタルサーバ(FreeBSD9.1)で上記の4.のsendmail コマンドを実行すると、メール送信ができます。 環境設定など作業上なにが足らないのでしょうか。 FreeBSDのsendmailコマンドでの送信についてご存知の方がおりましたらご教示頂け ないでしょうか。 いろいろと調べたり試行錯誤したのですが、解決できなく質問をさせて頂きました。 よろしく、お願いいたします。

専門家に質問してみよう