Linuxのメール配送システムにおけるMTA、MDA、MRA、MUAの違いと役割についてまとめました。
メール配送の仕組み
メール配送は複数の「エージェント」と呼ばれるソフトウェアが互いに連携することでシステムとして成り立っています。
メール配送の流れ
送信者から受信者までメールが配送される大まかな流れは以下のとおりです。
送信者 → MUA → MSA → MTA_1 → MTA_2 → ・・・ MTA_n → MDA → MRA → MUA → 受信者
。
- MTA(Mail Transfer Agent:メール転送エージェント)
- SMTPプロトコルを用いてMUAからサーバー、もしくはサーバーから他のサーバーへメールをデータ転送します。SMTPサーバーとも呼ばれ、メール配送の中心的な役割をもちます。
- 代表的なものとして、「sendmail、Postfix、qmail、exim などがあります。
- MDA(Mail Delivery Agent)
- MTAが受信したメールデータを受信者に配送する。
- 実際には、MTAによって受信者の最寄りのサーバーまで転送されたメールをメールボックスに保存し、クライアントからの受信要求を待つ。
- MDAの処理はMTAとMRAの連携で賄われるケースが多く、実体として存在しないのが一般的。
- MRA(Mail Retrieval Agent)
- MUAがメールボックスからメールを読み出すときに接続するプログラム(retrieve:取り出す)。メール受信サーバともいう。
- POP3プロトコルやIMAP4プロトコルを用いてサーバーからMUAへメールデータを転送したり、同期する役割をもつ。役目を担う
- MUA(mail user agent)
- ユーザー側(クライアント側)のアプリケーションで使用されるプログラムです。メールサーバーとメールデーターの送受信をしたり、メールデータを整理したりします。
- MSA(mail user agent)
- MUAがメールを送信するときに接続するシステム。
- プロバイダと契約すると連絡される「送信メールサーバ」などがMUA。
- スパムメール防止のため、MTAの前にMSAを設置し、ユーザ認証を行ってから外部のメールサーバーにメールデータを転送するのが主流となっている。
- MUA-MSA間のユーザ認証方法にはSMTP AUTHプロトコルやPOP before SMTPプロトコルがある。SMTP AUTHはMUAが対応している必要がある。POP before SMTPは多くのMUAで利用可能。
関連ページ
【LinuC】試験対策と例題まとめ
LinuCの試験対策と例題(学習サイト)についてまとめました。
404 NOT FOUND | Linux超入門
【Linuxコマンド入門】主なコマンドとサンプル集
Linuxコマンドの主な使い方とサンプル集について入門者向けにまとめました。
コメント