11.2. 電子メールプログラム分類

一般的に、全ての電子メールプログラムには3つの分類のうちのひとつに分けられます。それらはすべて 電子メールメッセージの移動と管理のプロセスで特定の役割を果たします。大半のユーザーは、 メッセージを送受信するための特定の電子メールプログラムしか意識しません。これらのタイプはそれぞれ、 電子メールが正しい宛先に着信するかどうかを確認するために重要です。

11.2.1. Mail Transfer Agent

MTA(Mail Transfer Agent)は SMTPを使用してホスト間で電子メールを転送します。1つのメッセージが目的地まで 移動する間に幾つかのMTAが関与することもあります。

マシン間のメッセージの配信はかなり単純なものに見えますが、特定のMTAがリモートホストに 配信するためのメッセージを受け入れることができるか、あるいは受け入れなければならないかを 決定するプロセス全体は非常に複雑です。また、スパムから問題が発生するため、特定のMTAを 使用することは通常、MTA自体の設定あるいはMTAネットワークアドレスへのアクセス欠如の いずれかで制限されます。

最新の電子メールクライアントプログラムの多くは、メールを送信する時に、MTAとして 動作します。しかし、この動作は実際のMTAの役目と混同しないで下さい。電子メール クライアントプログラムが電子メールを(MTAのように)発信できる唯一の理由はアプリケーションを 実行しているホストが自分自身のMTAを所有していないからです。これは、特に非Unix ベースのオペレーティングシステム上の電子メールクライアントで明確です。 しかし、これらのクライアントプログラムは、使用許可のあるMTAにのみ発信メッセージを 送信するだけで、受信者の電子メールサーバーにメッセージを直接配達する ことはありません。

Red Hat Linuxが2つのMTA (Sendmail と Postfix)をインストールするため、電子メールクライアント プログラムは多くの場合、MTAとして動作する必要はありません。Red Hat LinuxにはFetchmailと言う 特殊目的用のMTAも含まれています。

SendmailとFetchmailの詳細については、項11.3を 参照して下さい。

11.2.2. Mail Delivery Agent

MDA(Mail Delivery Agent)は、MTAに よって喚起され着信メールを正式なユーザーのメールボックスにファイルします。 多くの場合、MDAが実際にmail又は Procmailのように LDA(Local Delivery Agent) (ローカル配送エージェント)となります。

電子メールクライアントによって読まれる場所まで配達するメッセージを扱うプログラムは どれもMDAと考えられます。この理由で、幾つかのMTA(Sendmailや Postfix)は、それらが 新規メールのメッセージをローカルユーザーのメールスプールファイルの追加する時、 MDAの役目を果たすと言えます。一般的にMDA はシステム間でメッセージを配送しませんし、 ユーザーインターフェイスも提供することはありません。MDAは電子メールクライアント アプリケーションがアクセスできるようにローカルマシン上のメッセージを分配したり 分類したりします。

11.2.3. Mail User Agent

MUA(Mail User Agent)は 電子メールクライアントアプリケーションと同義語です。MUAは少なくとも ユーザーが電子メールメッセージを読み書きできるようにするプログラムです。 多くのMUAはPOPプロトコルやIMAPプロトコルを通じてメッセージを検索したり、 メッセージを保存するためのメールボックスを設定したり、発信メッセージを MTAに送り付けたりすることが出来ます。

MUAにはMozilla Mailなどのグラフィカルなものや、 muttpineのようなテキストベースの 非常に簡単なインターフェイスもあります。