mailコマンドにメールサーバーが必要ですか?

mailコマンドにメールサーバーが必要ですか?

Linuxmailコマンドを使用する前にメールサーバーを設定する必要がありますか?

答え1

いいえ、メールを送信するためにメールサーバーは必要ありません。私が最もよく知っているのは、電子メールをサービスとして実装するための3つのカテゴリの機能を備えたSendmailです。 MDA(Mail Transfer Agent)は1、MTA(Mail Transfer Agent)は2、3はMUA(Mail User Agent)です。

用語は混乱していますが、MTAが常に実行される必要はありません。mailMTAは、MUA()がメッセージを「送信」しようとするたびに呼び出されます。

mailメールを送信するアドレスを実行して指定すると、[email protected].mailクライアントはMTA(/usr/bin/sendmail)を呼び出して、そのホスト/ドメイン(example.com)のDNSを照会し、そのMXで指定された値を見つけます。記録。 MXはメール交換機を意味します。

はい

digコマンドを使用して、次を表示できます。

$ dig gnu.org mx

; <<>> DiG 9.7.4-P1-RedHat-9.7.4-2.P1.fc14 <<>> gnu.org mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21053
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;gnu.org.           IN  MX

;; ANSWER SECTION:
gnu.org.        299 IN  MX  10 eggs.gnu.org.

;; ADDITIONAL SECTION:
eggs.gnu.org.       299 IN  A   208.118.235.92
eggs.gnu.org.       299 IN  AAAA    2001:4830:134:3::10

;; Query time: 218 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:27:22 2013
;; MSG SIZE  rcvd: 90

したがって、クライアントはこの電子メールを送信するためにポート25でEggs.gnu.orgに接続しようとします。

DNSサーバー?

@pukは次の質問をしました。

私のローカルコンピュータのDNSですか?

これに対する私の答えは次のとおりです。

@puk - メールサーバーと同じように動作できますが、通常はそうではありません。ファイルを見ると、/etc/resolv.confコマンドを実行すると下部に行がdig表示されますSERVER: ...。これはあなたの要求を処理するDNSサーバーです。

はい

私の/etc/resolv.confファイルには次の内容が含まれています。

nameserver 192.168.1.8

このようなクエリの場合は、次を使用してくださいdig

$ dig gnu.org mx

結果は一番下にあります。

;; Query time: 259 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:46:13 2013
;; MSG SIZE  rcvd: 90

敏感な読者に聞きたいです。これはどのように構成されていますか?答えは/etc/nsswitch.conf文書です。具体的には、次の行は次のようになります。

hosts:      files mdns4_minimal [NOTFOUND=return] dns

つまり、最初にファイル(/etc/hosts)を使用してからを使用しますmdns4_minimal。これがマルチキャストDNSです。デフォルトでは、以前のルックアップのキャッシュです。最後に、dnsファイルで指定されたIPアドレスを使用します。nameserver/etc/resolv.conf

答え2

mail実際に使用しているバージョンによって異なります。

すべてのバージョンでは実際にメールを転送するためにMTAが必要ですが、一部はSMTPを使用してリモートMTA(ISPのメールサーバーなどの「スマートホスト」)と通信でき、一部はメッセージをローカルMTAに/usr/sbin/sendmailのみパイプできます。

後者の場合、ローカルMTAは完全なMTAになることができます。メールを送信または輸出入銀行またはサフィックス。あるいは、単純な転送専用のMTAです。空の郵便物またはssmtp。または少し複雑なミニMTAもあります。メール転送プロトコルまた、後で配信するためにメールをキューに入れることもサポートします。

無料のソフトウェアとオープンソースの世界には、mailxこのパッケージの2つの主なバリエーション(コマンド提供)がありますmailbsd-mailx、、およびheirloom-mailx。このmailコマンドはGNUでも使用できますmailutils

bsd-mailxSMTPをサポートしておらず、パイプ経由でのみメールを送信できます。/usr/sbin/sendmail

ガボメールx従来の「パイプメール転送」方法だけでなく、スマートホストとのSMTP通信も可能です。さて、カタツムリおそらくheirloom-mailxの最良の派生物でしょう。これはまだ活発に開発され更新されています。

GNUメールツールmailバージョンなど、エンドユーザーやシステム管理者向けのさまざまなメール関連ツールが含まれています。

したがって、「メールサーバーが必要ですか?」という質問に答えてみましょう。はい、そうです。必要ですが、mailインストールするバージョンによっては、システムにインストールして構成する必要がない場合があります。

IMO、スマートホストに依存するよりも最小のMTA(またはmsmtpなどの完全なMTA)を持つ方が良いです。インターネット接続が失われたり、スマートホストがダウンした場合でも、後で配信するためにキューにあるメールを配信できなくなります。ローカルキューを使用すると、他のプログラムからメールを送信して忘れられます。ローカルキューがないとスマートホストが利用できない場合は、何らかの方法でエラー条件を処理する必要があります。postfixeximheirloom-mailxmailcrond

関連情報