一般的な Linux/GNU ディストリビューションにはどのような電子メール機能が組み込まれていますか?

一般的な Linux/GNU ディストリビューションにはどのような電子メール機能が組み込まれていますか?

ローカル Linux ホスト上のシステムデーモンがどのように電子メールを送信するのか興味があります。

  • 何らかの電子メール フレームワークがすでに組み込まれていますか?
  • MTA または MUA が必要ですか?
  • 「Sendmail」はどのような役割を果たし、必須ですか?
  • 別のホスト経由で送信できるようにサーバーを構成するにはどうすればよいでしょうか?
  • 「mail」コマンドはこれにどのように当てはまるのでしょうか?
  • /home/user/maildir は図にどのように当てはまるでしょうか?

答え1

かなり幅広い質問をされました。すべてを詳しく説明するには何ページも必要になるでしょう。簡単に言うと、

Linux/Unix マシンでメールを送信するには、いくつかのプログラムが必要です。それぞれの役割に応じて、選択できるプログラムが多数あります。

  • メール ユーザー エージェント (MUA)。これは、メールを読んだり作成したりするために使用します。これは、システムへのユーザー インターフェイスです。例: mutt、Thunderbird、Evolution、kmail、...
  • メール配信エージェント (MDA)。これは、ローカル メールボックスへのメールの配置を処理します。また、フィルターなども処理できます。例: procmail、maildrop。
  • メール転送エージェント (MTA)。これは、通常 SMTP を使用してインターネット経由でシステム間の電子メールの送受信を処理します。例としては、exim、postfix、qmail、sendmail などがあります。

多くの場合、MTA と MDA は組み合わせて使用​​されます。たとえば、exim は両方を実行します (ただし、別の MDA でも実行できます)。また、一部の MUA (Thunderbird など) は 3 つすべてを処理します (ただし、MTA 機能は非常に制限されています)。

現在、メールを送信するために使用されるインターフェースは 2 つあります。

  1. localhost:25 に SMTP 接続し、SMTP を話し、メッセージを送信します。
  2. を呼び出して/usr/sbin/sendmail、メッセージをパイプします。(または、パイプを介して SMTP を話します。引数が多数あります。興味がある場合は、man ページを確認してください)。

(2) はかなり一般的です。これは sendmail MTA のネイティブ インターフェイスですが、他のほとんどの Unix MTA はこのインターフェイスをエミュレートします。これは Unix ボックスでメールを送信する標準的な方法です。

したがって、 を実行してメッセージを入力すると、が呼び出され、そのメッセージがシステム MTA に渡されます。その後、システム MTA はローカル設定を使用して、メッセージをどう処理するかを決定します。mail [email protected]mail/usr/sbin/sendmail

  • メールはローカルのメール名/ホスト名宛てなので、ローカル配信を行う(MDA に渡す)
  • MXレコードのDNSリクエストを行い、リモートSMTP配信を行う
  • このドメイン/メールアドレス/その他に設定されたカスタムアクション。MTAは通常とてもフレキシブル。

/var/spool/mail/userまたははこれにどのように当てはまるのでしょうか~/Maildir? これは、MDA が配信するメールを配置するように構成されている (またはデフォルト設定されている) 場所です。

RAID監視では、おそらくMTA をインストールする必要があります。Gmail アカウントなどにメールを送信する場合は、MDA は必要ありません。

最も簡単な設定は、送信SMTPリレー(スマートホストとも呼ばれます。ほとんどのISPが提供しています)を提供しているISPがある場合です。その場合、すべてのメールをそこに送信するためのMTAを設定するだけです。Ubuntuにはメール設定ドキュメントExim はすでにインストールされているはずだが、システムからメールを取得するには設定する必要がある (これはかなり簡単) と書かれています。"軽量送信SMTPサーバー「Unix.SE のこちら」をご覧ください。

答え2

何らかの電子メール フレームワークがすでに組み込まれていますか?

はい。ほとんどのディストリビューションには複数のオプションがあります。Debian、Ubuntu、Fedora、CentOS などの大規模なディストリビューションのほとんどでは、Postfix や Sendmail などの MTA を使用できます。結局のところ、好み次第です。

MTA または MUA が必要ですか?

場合によります。ほとんどの Linux ディストリビューションには MTA が付属しており、通常はシステムで実行されているさまざまな cron やデーモンからシステム生成の電子メールを配信できるようにしています。このような場合、MTA は通常、電子メールをシステム上のルートまたは管理者タイプのアカウントにローカルでのみ配信するように構成されます。

MUA に関しては、選択肢が非常に豊富です。メールや mutt などのターミナルベースのアプリから、Evolution や Thunderbird まで多岐にわたります。

別のホスト経由で送信できるようにするには、サーバーをどのように構成すればよいでしょうか? ボックス上のローカル ユーザー間のメールについては関心がありません (今のところ、自分のアカウントとルートの 2 つだけです) が、それがどのように機能するかについても興味があります。

Sendmail などの MTA を使用している場合は、通常、ボックスをスマート転送ホストとして設定して、ローカルでルートまたは管理者アカウントに配信できないメールを、ホストから発信されたメールの配信を処理する指定されたホストに盲目的に転送するようにすることができます。

「mail」コマンドはこれにどのように当てはまるのでしょうか?

これは単なる MUA です。

/home/user/maildir は図にどのように当てはまるでしょうか?

通常、ホストにローカルでメールを受信したアカウントのみが、このディレクトリにメールをドロップします。ここに表示されるメールは通常、ローカルに設定された MTA によって配信されます。

これは Unix から継承されたものですか?

この質問にどう答えたらよいか分かりません。

たとえば、通常はボックスに MTA/MUA タイプのアプリケーションが含まれていない PC と、通常はボックスに含まれている Unix ボックスとの間の明らかな違いについて尋ねている場合。

それでは、私は次のように言います。

これは、Unix ボックスで実行されるアプリケーションの種類と PC で実行されるアプリケーションの種類に関係しています。ほとんどの Unix ボックスはサーバーとして使用されるのが一般的で、サーバーはサーバー上で実行されるさまざまなデーモンやサービスからメールを配信する必要があります。これらのサービスには通常、ユーザー アカウントが関連付けられていないため、システム メールをボックスから世界中に配信するには MTA が必要でした。

しかし、私の意見では、PC にこのような機能が搭載されていないのは珍しいと思いますが、それは私個人の意見です 8-)。

答え3

まったくありません... メール関連のパッケージ/機能はすべて省略できます。私が知っているすべてのディストリビューションは、さまざまな MTA、MUA、メール ストアのハンドラー (POP、IMAP サーバー)、スパム フィルター/対策などを提供しています...

関連情報