|
サーバ管理者が管理する「メールサーバ」とはどういったものなのか。一口にメールサーバと言っても、その機能は多岐にわたり、さまざまなプログラムが組合さって構成されている。用語の確認の意味もこめて、ここで整理してみる。
送信されたメールが受信者のメールボックスに配送され、そのメールが受信者により読まれるまでのメールの流れを図にすると下図のようになる。
|

<メールの流れ>
|
サーバ管理者が管理する「メールサーバ」とはどういったものなのか。一口にメールサーバと言っても、その機能は多岐にわたり、さまざまなプログラムが組合さって構成されている。用語の確認の意味もこめて、ここで整理してみる。
送信されたメールが受信者のメールボックスに配送され、そのメールが受信者により読まれるまでのメールの流れを図にすると下図のようになる。
- MUA(Mail
User Agent)
メールを読み書きするためのプログラム。一般に「メールリーダ」や「メーラ」と呼ばれることが多い。MUAはメールサーバの構成要素ではなく、クライアント側で動くプログラムである。
- MSA(Message Submission Agent)
MUAがメール送信のために接続するプログラム。これまでは、MTAとMSAは厳密に区別されてこなかったが、現在では分離して考えることが多い。また25番ポートでなく、submission用に定義された587番ポートを用いることも多くなってきている。
また、MSAは外界にメールを中継するリレーサーバであるから、何らかの形で認証が必要になる。認証なしでメールが送れてしまうと、そのサーバはいわゆるオープンリレーということになってしまう。認証として代表的なものに、「POP
before SMTP」や「SMTP AUTH」がある。
- MTA(Mail Transfer Agent)
SMTPでメールを受け取り、必要に応じてSMTPで他のホストにメールを配送したり、ローカル配信のためにMDAにメールを引き渡すといった処理を実行するプログラム。メール配送の中心的な役割を果たす。
- MDA(Mail Delivery Agent)
MTAからメールを受け取り、ユーザのメールボックスにメールを配信するプログラム。sendmail環境では「mail.local」が一般的だが、「procmail」や「maildrop」などの高機能なMDAもある。
- MRA(Mail Retrieval Agent)
MUAがメールボックスからメールを受信する際に接続するプログラム。いわゆる、「POPサーバ」や「IMAPサーバ」のこと。メールボックスからメールを取り出し、POPやIMAPなどのプロトコルでMUAにメールを渡す。
メールボックスの形式はMTAには依存せず、MDAとMRAに依存する。「sendmailは『mbox形式』しかサポートしていない、qmailやPostfixのように『Maildir形式』は使えないのか?」と聞かれることがあるがこれは可能である。ほとんどのMTAでは、MDAを取り換えることによって各種のメールボックス形式がサポートできる。現に筆者の環境では、MDAとしてmaildropを、MRAとしてsolidpop3dを使い、sendmailでもMaildir形式のメールボックスを利用している。もちろん、MDAとMRAの間でメールボックス形式を一致させる必要がある
|