• ベストアンサー

「mail」コマンドと「sendmail」コマンドについてのくだらない質問です

よろしくお願いします。 電子メールの送受信を行う「mail」コマンドというのがあるのですが、そのほかに「sendmail」というコマンドがあるようです。 この「sendmail」もメールの送受信に使うコマンドでしょうか。 ちなみに、うちの自宅サーバでは「mail」コマンドは使えますが「sendmail」コマンドが使えません。 $ /usr/lib/sendmail というようにフルパスで指定してもダメでした。 5分経っても10分経っても次のプロンプトが表示されずに反応が無くなってしまいますので「Ctrl」+「c」キーで強制的にプロンプトを表示させるしかありません。 ひょっとして最近コマンド名が変わったとか、そういうことでしょうか。 ディストリビューションはRed Hat Linux8.0で SMTPサーバはsendmail-8.12.5-7.i386.rpmとかいうものです。 どなたか教えてください。

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

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

vオプションと宛て先を指定して起動し、メール本文、「.」(ピリオド)で完了です。 マシンのFQDN:hogehoge.somedomain.net ユーザ名  :honyarara だとするとこうなります。 ------------------------------------------- $ /usr/lib/sendmail -v honyarara@hogehoge.somedomain.net This is test mail  <-- メール本文 .          <-- ピリオドのみ ------------------------------------------- ひょっとしたら root権限が必要かも。

zyousuke
質問者

お礼

ご回答ありがとうございます。 実は何の問題もありませんでした。 次のプロンプトが表示されないのはただ単に文字入力待ち状態になっているためだったのです。 この状態で何の問題もなく文字を入力して最後にピリオドで送信可能だったようです。 またも、早とちりの質問をしてしまって、すいませんでした。 ただし、この後無事に送信できたかといいますと話は別です。 どうもメールサーバがうまく機能していないようで。 どうやらMTAとDNSの設定をもう一度最初からやり直すことになりそうです。 しばらくしたら、またサーバ設定について質問に来るかもしれませんが、その時はどうぞよろしくお願いします。 関係ないですが実は7日後にCCNA受験ですので今日からしばらく「Linux」&「CGI」を離れます。 次回、質問に来るのは7日後以降ですね。 それまでにLinuxのコマンドを忘れなきゃいいが・・・(汗)

その他の回答 (4)

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.5

>$ /usr/sbin/sendmailと入力してみたのですが、やはりコマンドライン画面が固まり応答が無くなってしまいます。 これは、#4 さんが解説されているとおり、sendmailがコマンドから起動されて入力待ちなんですよ。 >/usr/lib/sendmailも >/usr/sbin/sendmailも含まれていないのが少し疑問です。 /usr/sbin/sendmailを実行して固まってる(入力待ち)のだから見つかってるはずなんですけど???? パッケージ版sendmailなら # rpm -ql sendmail と実行したら、sendmailパッケージのファイルがどこにインストールされているか表示されますので試してみてください。 >引き続きご質問なのですが「sendmail」コマンドを実行するためには、どこかで詳細な設定が必要なのですか。 どこでどんな環境でどんな動作を期待するかによります。 CGIでメールを扱う勉強の前にsendmail(DNS又は/etc/hosts等の名前解決含む)の設定を勉強されるのが先ですね。 とりあえず、ローカルのパソコンに複数のユーザを作って、メールのやり取りが出来る様な環境を作ってみるかだけど、 時間がかかりそう(はまりそう)なので初めから学校の環境でテスト・実行する方がよいかも。 質問からするとメールサーバの構築よりCGIの勉強がメインなんでしょ? どうしても自宅PCでメールサーバを立てたいなら、新規質問など立てた方がよろしいかと。

zyousuke
質問者

お礼

ご返信ありがとうございます。 どうもすいません、おっしゃるとおりプロンプトが表示されないその画面こそがメール本文の入力待ち画面でした。 こんな事にも気づかない奴がパソコン歴5年とは聞いてあきれますね。 また/usr/lib/sendmailと /usr/sbin/sendmailにつきましては「-type f」オプションをはずしたらヒットするようになりました。 「-type f」は何か特別なファイルだけを探すオプションでしょうか。 さて、これで晴れてメール送信機能が使えるようになったわけですが、やはり事はそううまくも運びません。 メールサーバが適切に設定されていないせいか結局メール送信は成功しませんでした。 やはり、おっしゃるとおりsendmail(DNS又は/etc/hosts等の名前解決含む)の設定を最初からやり直すことにします。 しかし、これについても、しばらくしたら、また質問に来る可能性が高いですが、よろしくお願いします。 「質問からするとメールサーバの構築よりCGIの勉強がメインなんでしょ? 」←やっぱ分かります? そのとおりです。 当初はCGIの授業で他の学生たちに差を付ける目的で、自宅でCGIを勉強しようと思っていたのですが契約しているプロバイダがtelnet接続を許可していないため勉強できないことを知りました。 その後telnet接続を許可しているフリーサーバなるものを知り、これをレンタルしたのですが、いざ接続してみると使用可能なコマンドが、ごく限られていて、とてもこの環境では自作CGIなど不可能だということを知りました。 そして、その後知ったのがPCUNIXなるフリーOS、Linuxの存在です。 しかし、フリーとはいえFTPで入手するには恐ろしいほどの時間がかかりますので結局CD付きの本を買うことになりました。 おまけにアーキテクチャ代等も含めますと新しくWindowsXPプロフェッショナルが買えたなー、とも思いましたが、それはさておき自宅Linuxサーバを構築する事になりました。 これには思ったよりも手こずりサーバ導入完了の現在に至るまで、およそ2か月もの期間を浪費してしまいました(しかも我がサーバは未だに様々な不具合を抱えている)。 というわけで当初は他の学生に差を付けるために始めた、このプロジェクトは達成されず、それどころか逆に差を付けられて私は置いてきぼりにされてしまいました。 もう火の車でっす(汗)。 しかし、その反面LinuxやTCP/IPについての基礎知識を得ることが出来ましたのでプラス思考に考え、今から、がんばってみんなを追いかけることにします。 お世話になった技術系回答者の皆様、今後もご回答よろしくお願いします。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.3

(補足) アクセスカウンタのCGIは動くようになりましたか? こんどはフォームで入力した内容をCGI内でsendmailに渡して送信してみましょう。

zyousuke
質問者

お礼

xjdさん、いつもご回答いただきありがとうございます。 アクセスカウンタの問題につきましては無事解決いたしました。 何が原因だったのかといいますと、お恥ずかしいのですが、そのスクリプトの置いてあるディレクトリのパーミッション設定が「775」になっていたためです。 これを「755」と書き変えたところ問題なく動作するようになりました。 どうもSSHのコマンドラインから新規にディレクトリを作成すると「775」と設定されたディレクトリが生成されてしまうようです。 「FFFTP」で新規にディレクトリを作成すれば「755」なので今は「FFFTP」で作成しています。 「こんどはフォームで入力した内容をCGI内でsendmailに渡して送信してみましょう。」←そうです、まさに今、僕がやろうとしていたことです。 しかし「sendmail」コマンドが実行できないので疑問に思い、ここに参上したわけです。 引き続きご質問なのですが「sendmail」コマンドを実行するためには、どこかで詳細な設定が必要なのですか。 よろしくお願いします。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

/usr/sbin/sendmailでしょう。 fint / -type f -name sendmail とか実行して探せばよいです。 sendmailはコマンドとしても使えますし、デーモンとしても使えます。

zyousuke
質問者

お礼

ご回答ありがとうございます。 $ /usr/sbin/sendmailと入力してみたのですが、やはりコマンドライン画面が固まり応答が無くなってしまいます。 「find」コマンドを実行しましたら次のパスがヒットしました。 /var/lock/subsys/sendmail /etc/sysconfig/sendmail /etc/rc.d/init.d/sendmail /etc/log.d/scripts/services/sendmail この中に /usr/lib/sendmailも /usr/sbin/sendmailも含まれていないのが少し疑問です。 上記4つのコマンドは少なからず危険な香りが漂っているのでまだ実行はしていません。 実行しても差し支えないものでしょうか。 また以前のようにデーモンが起動していないだけという間抜けな結末を懸念して # /etc/rc.d/init.d/sendmail start # chkconfig sendmail on というように上記のコマンドを実行しましたが、やはり反応がありません。

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

参考URLをみるとわかりやすいのですが。sendmailはメールを送受信するためのソフトであってメールを作成するソフトではないということです。

参考URL:
http://www.tokix.net/texts/010/7.html
zyousuke
質問者

お礼

ご返信ありがとうございます。 ということは「sendmail」というコマンドは対話形式で送信先や本文の内容を作成して「sendmail」というソフトに作成したデータを渡す役割を担っていると解釈すればいいのでしょうか。 それに対して「mail」コマンドは作成から送信までを手がける万能コマンドということですね。 ところで、この「sendmail」というコマンドが僕の環境では実行できないのですが、このコマンドを利用するためには何か詳細な設定が必要なのでしょうか。

関連するQ&A

  • sendmailからqmail:CGIから送れない

    こんばんわ。 sendmailコマンド置換えについてです。 OS:Fedora7 メールサーバー:qmailとdovecot vpopなど使ってます。 メールサーバーについては、 バーチャルでもローカルからは送受信出来てます。 cgiがユーザーさんがHPのcgiからメールを送って来ると、 内容を自動返信するような感じのcgiですが。 テストでやってみても。 ローカルの受信すら来ない状態です。 もちろん、自動返信で返っても来ません。 以下をしました。 chmod 0 /usr/lib/sendmail chmod 0 /usr/sbin/sendmail mv /usr/lib/sendmail /usr/lib/sendmail.bak mv /usr/sbin/sendmail /usr/sbin/sendmail.bak ln -s /var/qmail/bin/sendmail /usr/lib/sendmail ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail apacheのエラーは、 sh: /usr/sbin/sendmail: Permission denied, referer: http://www.hogehoge.com/cgi-bin/test.cgi Permission関係でしょうか? sendmailをls -lで調べると lrwxrwxrwx 1 root root 23 Jun 5 19:05 /usr/sbin/sendmail -> /var/qmail/bin/sendmail です。 その他調べる箇所ありますでしょうか? 後・・・ 私のサーバーでは、 newaliases とすると・・・ bash: /usr/bin/newaliases: Permission denied になります。 パーミッションは777のroot rootになってます。 宜しくお願いします。

  • sendmailコマンドでの送信についてよろしくお願いいたします。

    sendmailコマンドでの送信についてよろしくお願いいたします。 現在、次の環境にてメールサーバーの作成をしています。 OS   [CentOS 5] メール [postfix] このような、メールサーバの作成(転送設定)で、Thunderbirdといわ れます、メールソフトからのメールの送信は可能になったのですが、 sendmailコマンドでの送信が出来なくて困っています。 よろしければ、原因や問題を、教えて頂けましたらと思っています。 よろしくお願いいたします。 (現在の状況では次のようになっております。) ・メールサーバーには、(main.cf)ファイルに、 relayhost = [SMTPサーバー] を記述して、転送の設定をしています。 ・また、  smtp_sasl_password_maps = hash:/etc/postfix/isp_account  の記述と、(isp_account)ファイルの中には、  [SMTPサーバー]:25 ユーザー名:パスワード  の作成をしています。 ※telnet localhost 25 で入りましての送信は行えています。

  • メールサーバは起動しているはずなのですがテストが成功しません

    アクセスありがとうございます。 やはり私だけの力では解決できないようなので、またも質問に来てしまいました。 今回の質問は「sendmail」についてです。 まず、ご報告としてDNSサーバの構築に成功しました。 これでホスト名でApacheにアクセス出来るようになりました。 ここまでは良いのですが次のようなメール配送テストが成功しません。 # useradd mailtest # mail mailtest@**.jp Subject: test This is a test mail. . Cc: # su - mailtest $ mail No mail for mailtest $ と、このように「mailtest」ユーザのメールボックスは空なのです。 しかしWindows機からアウトルックエクスプレスで「burn@**.jp」ユーザから「mailtest@**.jp」宛にテストメールを送信すると、なぜか成功します。 $ mail Mail version 8.1 6/6/93. Type ? for help. 以下省略 このようにメッセージを受信できます。 またアウトルックエクスプレス上で「burn@**.jp」ユーザから同じく「burn@**.jp」宛にメールを送信して、同じくアウトルックエクスプレス上で「burn@**.jp」宛に届いたメールを受信することが出来ます。 ですのでSMTPサーバやPOP3サーバは機能していると思われます。 Linuxのコマンド行からの「mail」コマンドのみ使えないので疑問に思っています。 これはなぜだか分かりますか。 私はLinux初心者ですので初歩的なミスを犯している可能性があります。 ですので上級者の方が「さすがに、ここの設定をやっていないということはないだろう」とお考えになるケースも十分に考えられますので、どんなに当たり前のことであっても何か思い当たる点がございましたら是非お知らせください。 サーバ機のディストリビューションはRed Hat Linux8.0 SMTPサーバはsendmail-8.12.5-7.i386.rpm メール受信サーバはimap-2001a-15.i386.rpm DNSサーバはbind-9.2.1-9.i386.rpmです。 よろしくお願いします。

  • sendmailの設定でM4コマンドができない

    RedHatLinux 9でsendmailを立てています。 sendmailは初めてですが、M4コマンドが実行できないみたいです。 コマンドとエラー文は↓です。 必要なファイルが欠けているみたいですが、よくわかりません。 # cd /etc/mail # m4 sendmail.mc > sendmail.cf とコマンドを実行したら、 sendmail.mc:10: m4: Cannot open /usr/share/sendmail-cf/m4/cf.m4: そのようなファイルやディレクトリはありません と表示されます。

  • sendmailコマンドについて

    CentOS5でsendmailをインストールし、/usr/sbin/sendmail -bt -C ./sendmail.cfでテストしようとしたら、sendmail: fatal: open ./sendmail.cf/main.cf: No such file or directoryと表示されてしまいます。/var/log/maillogで見てもpostfix/sendmail[3215]: fatal: open ./sendmail.cf/main.cf: No such file or directoryとほぼ同じ内容が表示されます。rpm -qa | grep sendmailで見てもsendmail-cf-8.13.8-2.el5とsendmail-8.13.8-2.el5と出力されているのでインストールはされていると思うのですが、どうしても解決方法がわかりません。ご教授いただけると幸いです。よろしくお願いします。

  • sendmailについて

    こんにちは。Linux初心者です。 sendmailについて質問をさせてください。 サーバ1からサーバ2へメールを送信しようと考えております。 サーバ1、サーバ2:red hat enterprise linux 5。 両方にsendmailはインストール済み。 sendmailは起動済み。 サーバ1からmailコマンドで % echo "test" | mail ユーザ@サーバ2 を実行したところ、サーバ2の/var/spool/mail/ユーザに メールが到着しません。 サーバ2のポート25をtcpdumpでモニタリングしていると、 サーバ1でmailコマンドを実行してもサーバ2のポート25には、 何もデータは到着しません。 *サーバ1からの以下のコマンドは正常にサーバ2のポート25に到着します。  % telnet サーバ2 25 また、サーバ1からサーバ1へのmailコマンドを使用したメール送付は 正常に実行されます。 サーバ1側の何かしらの設定が悪いかと考えているのですが、 どこをどう修正すればよいのかがわかりません。 質問 送信できない原因、または調査方法をご教示ください。

  • なぜsmtpを開放していないのに、メールを送れるの

    ネットワーク超初心者です。 Webサーバのsendmail機能を使って、Webフォームからsubmitした情報を、メールサーバを経由して特定のメルアドに送信するという設定をしました。そして、Webフォームから試したところ、うまくいきました。 一方、Webサーバのコマンドプロンプトで、netstat -aコマンドを実行したところ、smtp(25)は表示されませんでした。 で、まこと初歩的な疑問だと思うのですが、なぜsmtpが開放していないのに、Webサーバ経由でメールサーバにメールが送られたのでしょうか。

  • Mail::Sendmailの使い方

    お世話になっております。 先日よりsendmailの調子がおかしくていろいろ調べているのですが煮詰まってしまったので詳しい方々にご教授頂きたいと思います。 先日よりMovable Type(CMS)でのメール送信のシステムが機能しなくなり、いろいろ調べているとサーバーのsendmailはきちんと機能しているのですが、perlのモジュールMail::Sendmailがうまく作動していないようなのです。 perlでは、 open (SENDMAIL, "/usr/lib/sendmail -t -i"); (中省略) close(SENDMAIL); という原始的な方法ではメールが送信されるのですが、 use Mail::Sendmail;という使い方では、エラーにはなりませんがずっと読み込み中…状態が続いてメールが送信されませんでした。 Movable TypeでもMail::Sendmailが利用されていますのでここが原因かと思いますが、Mail::Sendmailを使用するにあたって注意すべきこと、または設定すべきことはどのようなことがあるでしょうか?さしあたりどこをチェックしてよいのかわからなくて困っています。 よろしくお願いします。 Mail::Sendmailを利用して作成したスクリプトは以下のようなものです。 #!/usr/bin/perl use strict; use warnings; use Mail::Sendmail; use Encode; use utf8; my $subject = "テスト"; my $message = "テストです。ほげほげ。"; $subject = encode("MIME-Header-ISO_2022_JP", $subject); $message = encode("iso-2022-jp", $message); my %mail = ( "Content-Type" => 'text/plain; charset="iso-2022-jp"', To => 'to@example.com', From => 'from@example.com', Subject => $subject, Message => $message, ); sendmail(%mail); exit;

    • ベストアンサー
    • Perl
  • sendmailでホットメールのSMTP送信

    今年からホットメールでのSMTP POP3での送受信が可能になったということで 「eWEB」さんのメールフォームを使用し自宅サーバから送信をしようと思っています。(下記のURLのフォームを使用) http://php.eweb-design.com/1301_mail.html 現在XAMPPで鯖を構築しているのですがホットメールのでSMTPを利用した送信ができません。 C:\xampp\sendmail\sendmail.iniを smtp_server=smtp.live.com smtp_port=587 auth_username=account@hotmail.com auth_password=password C:\xampp\apache\bin\php.iniを SMTP = smtp.live.com smtp_port = 587 のように書き換え「eWEB」さんのフォームを使用したのですが送信ができないようです。 sendmailを利用してホットメールのSMTP送信は何か足りないものがあるのでしょうか? 説明が長くなってしまいましたが、もしお分かりになる方がいましたら宜しくお願いいたします。

    • 締切済み
    • PHP
  • CGIショッピングカートのsendmail

    CGIショッピングカートのsendmailが機能しません。 ショッピングカートを初めて設置します。 Shopping Cartの管理者通知メールと発注者返信メールが エラーも届きません。 参照サイト: http://bearmax.minibird.jp/cart.cgi ・サーバーはsendmailに対応しています。 ・check.cgiはすべてOK。 ・注文は、出来ます。「ご注文をお受けいたしました。誠にありがとうございました。」 表示後、反応がありません。 ・注文ログは書き込まれています。 教えてください。お願いします。 管理者メールアドレス $cf{mailto} = 'xxxxxxxx@gmail.com'; sendmailパス【サーバパス】 ※サーバーはminibirdで確認済みです。 $cf{sendmail} = '/usr/lib/sendmail'; #sendmailの -fコマンドが必要な場合 # 0=no 1=yes $cf{sendm_f} = 1;

    • 締切済み
    • CGI