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

一般的に、すべての電子メールアプリケーションは 3 つのタイプのうち 1 つ以上に分類されます。それぞれの分類は、電子メールメッセージの移動および管理のプロセスにおいてそれぞれ特定の役割を果たします。大半のユーザーはメッセージの送受信に使用する特定の電子メールプログラムだけを認識しますが、電子メールを正しい送信先に届けるにはすべての電子メールプログラムが重要になります。

15.2.1. メール転送エージェント (Mail Transport Agent)

MTA (メール転送エージェント) は、SMTP を使用してホスト間で電子メールメッセージを転送します。メッセージは目的の送信先に移動する時、様々な MTA に関わることがあります。
マシン間のメッセージ配信は簡単に見えるかもしれませんが、配信のためにある MTA がメッセージを受け入れることが可能か、または受け入れるべきかを判断する過程全体は非常に複雑です。その上、スパムの問題により、特定の MTA の使用は通常 MTA の設定または MTA が常駐するネットワークのアクセス設定により制限されます。
メールクライアントプログラムの中には、メール送信時に MTA として機能するものもあります。ただし、そのようなメールクライアントプログラムには、MTA の真の役割を持ちません。なぜなら、そのようなプログラムは、使用することが許可されている MTA にのみ送信メッセージを送信し、意図した受信者のメールサーバーにメッセージを直接配信することはできないためです。この機能は、アプリケーションを実行しているホストに独自の MTA がない場合に便利です。
Red Hat Enterprise Linux は PostfixSendmail という 2 つの MTA を提供しているため、電子メールクライアントプログラムは大抵、MTA として機能する必要がありません。Red Hat Enterprise Linux には、Fetchmail と呼ばれる特別用途の MTA も装備されています。
Postfix、Sendmail、Fetchmail の詳細は 「メール転送エージェント (MTA)」 を参照してください。

15.2.2. メール配信エージェント (MDA)

MDA (メール配信エージェント) は MTA により呼び出され、適切なユーザーのメールボックスに受信メールをファイル保存します。多くの場合、MDA は実際には mail や Procmail などの LDA (ローカル配信エージェント) です。
電子メールクライアントアプリケーションが読み取り可能なポイントに配信されるメッセージを実際に処理するプログラムは、いずれも MDA と見なすことができます。このため、一部の MTA (Sendmail、Postfix など) は、ローカルユーザーのメールスプールファイルに新規の電子メールメッセージを追加する時に、MDA の役割を果たすことができます。通常、MDA はシステム間でのメッセージの転送やユーザーインターフェースの提供は行いません。MDA は、ローカルマシン上でメッセージの配信と並べ替えを行い、電子メールクライアントアプリケーションがアクセスできるようにします。

15.2.3. メールユーザーエージェント (Mail User Agent)

Mail User Agent (MUA) は、電子メールクライアントアプリケーションと同義語です。MUA は、最低限、電子メールメッセージを読んで作成するプログラムです。MUA は以下のタスクを処理できます。
  • POP プロトコルまたは IMAP プロトコルからメッセージを取得します。
  • メッセージを保存するメールボックスを設定します。
  • MTA に出力メッセージを送信します。
MUA は、ThunderbirdEvolution のようなグラフィカルな場合と、mailMutt などの単純なテキストベースインターフェイスになります。