メール配信の仕組み メールエージェントと は、送信者によるメールの作成から、ネットワークを介した転送、受信者による閲覧まで、メール インフラストラクチャの一部を構成するプログラムです。最もよく知られているのは、メッセージユーザーエージェント (MUA、別名メールクライアント)とメッセージ転送エージェント (MTA、クライアント間でメールを転送するプログラム)ですが、さらに細かい分類も存在します。
より正確に言うと、これは様々なプログラムが実行する機能を ソフトウェアエージェント とみなして言及する技術的な方法です。あるプログラムは複数の機能を実行する可能性がありますが、特定の機能(メッセージ転送 など)を実行している間は、メッセージ転送エージェント と 呼ばれます。これらの用語は、エンドユーザーではなく、インターネット標準や電子メールインフラストラクチャに関する技術的な議論の中で最もよく使用されます。
個々の用語はインターネット標準やRFCで広く使用されていますが、これらのプログラムを包括的に表す広く使われている用語はありません。ただし、このようなプログラムは非公式にMxA と総称されることがあります。ここで「x」はワイルドカード であり、MUAやMTAなどの頭字語でプログラムが呼ばれ、「x」は役割に応じて異なります。
メールサーバーは1つ以上のソフトウェアパッケージから構築され、それぞれのパッケージが1つ以上のMxAの機能を実行します。[ 1 ] [ 2 ]
分類 現在使用されている最も細かく広範な分類は、メール交換機(MX)に加えて5つの機能に分類されています。[ 3 ]
従来はクライアント側(MUA)とサーバー側(MTA、特にsendmail )に分けられ、フローは次のようになります。[ 17 ]
MUA → MTA → … → MTA → MUA、 他にも、区別を明確にするために様々な区分が設けられており、それらは有用であると一部の人々によって評価されている。以下にその詳細を述べる。
これらの様々なエージェントを通じたメッセージの詳細な流れは、以下に示すとおりです。要約すると次のようになる。
MUA → MSA → MTA → … → MTA → MDA →→ MRA →→ MUA、 矢印のスタイルが変わることで、押し出し ステップ(→)と引き出し ステップ(→→)を区別します。
別の情報源では、流れを次のように示しています。[ 18 ]
MUA → (MSA) → MTA → … → MX → MDA →→ MRA/MUA、 fetchmail のように、サーバーからメールを取得するものの、表示やその他のクライアントタスクのためのヒューマンインターフェースを提供しないプログラムは、MRA と呼ばれます。つまり、メールの取得は 行いますが、その他のクライアント機能は提供しません。従来、そしてインターネット標準 (最近の RFC 5598 など) では、これらはクライアント側で動作するためインターネット標準の範囲外であることから、MUA の一種と呼ばれており、実際、多くの MUA は MRA 機能を実行します。しかし、elm、Pine、mutt などの従来のUnix メールリーダーには、MRA 機能が含まれない (またはオプションでのみ含まれる) ことが多く、メールボックスファイルに既に配信されたメール (正式にはMDA によって配信されたメール) を読み取ります。
一般的に、そして従来は、メールをエンド間で転送する プログラム(すべてのサーバー側機能)はすべてMTA(メール転送エージェント)と呼ばれていました。より細かく、そして近年では、チェーンのエンドポイントが区別されるようになり、最初のクライアント・サーバー間のステップは送信、 最後のサーバー・クライアント間のステップは配信と呼ばれるようになりました。MSA (メール配信エージェント)の役割を区別する動機は主にセキュリティにあり、MUA(メールユーザーエージェント)とMSA間のやり取り(最初の送信)は、MTAとMTA間の転送(サーバー間)よりも厳しく監視されています。配信(MDA)段階では、不要なメッセージのフィルタリングや、別々のフォルダへのファイリングなどのタスクが実行され、ユーザーエージェントの活動が始まります。従来はprocmailを使用して行われていましたが、今日では SpamAssassin などのスパムフィルタ を使用するサーバー側プログラムを使用して行われることもあります。MDAは「メッセージがユーザーのメールボックスに届く前」に機能すると言えます。
参考文献 ↑ Schroder 2004 、p. 362 :「Linuxメールサーバーを構築する方法はいくつかあります。ほとんどの管理者はモジュール方式を採用し、専用プログラムの集合体から構築します。別の方法としては、 Courier パッケージを使用する方法があります。これはMTA、POP3、IMAP、メーリングリストマネージャーを含む完全なパッケージだからです。あるいは、SuSE OpenExchangeのように、これらすべてが組み込まれたディストリビューションを購入することもできます。」 ↑ McBee 2009 、p. 22 :「各電子メールシステムは、これらの機能を実装するために多種多様なソリューションを利用できます。Exchange のようなアプリケーションは、これらの機能をすべて単一のエンドツーエンドのソリューションに統合していますが、他のアプリケーションはパズルのピースの一部しか提供せず、不足している機能は他のアプリケーションに依存しています。しかし、完全なソリューションを使用する場合でも、機能を提供するためにピースを組み合わせて使用することは常に可能です(たとえば、MUA 機能にサードパーティのクライアントを使用したり、エッジメールアプライアンスを他のメールシステムへの MTA として使用したりするなど)。これらの実装が連携して動作するように、長年にわたって一連の標準が開発されてきました。」 ↑ Faircloth 2013 、p. 51 :「SMTPは、メール送信エージェント(MSA)、メールユーザーエージェント(MUA)、メール取得エージェント(MRA)、メール交換機(MX)、メール配信エージェント(MDA)、そして場合によって はその間に複数のサーバー(メール転送エージェント(MTA)と呼ばれる)から構成される。」 ↑ McBee 2009 、p. 21 :「メールユーザーエージェント(MUA) は、ユーザーが直接やり取りするコンポーネントです。郵便に例えるなら、MUAは自宅の私道の端にある郵便ポストにほぼ相当します。従来、MUAはOutlook のようなスタンドアロンのクライアントアプリケーションでしたが、Outlook Web AccessのようなWebベースのクライアントも、技術的にはサーバー側のアプリケーションであるにもかかわらず、MUA機能を提供しています。」 ↑ Schroder 2004 、p. 361 :「MUA:メールユーザーエージェント、別名「メールクライアント」。Mutt、Pine、Kmail、Evolution、BalsaはMUAである。これは、電子メールの作成、送信、受信を行うためのユーザープログラムである。MUAは、ローカルフォルダから、またはPOPやIMAPを介してリモートサーバーからメールを取得できる。」 ↑ Vakali 2006 、p. 221 :「メールユーザーエージェント(MUA): ユーザーが電子メールメッセージを読み書きするのを支援する役割を担います。MUAは通常、電子メールクライアントと呼ばれるソフトウェアに実装されています。代表的な電子メールクライアントとしては、Microsoft OutlookとMozilla Thunderbird が挙げられます。これらのプログラムは、テキストメッセージを適切なインターネット形式に変換し、メッセージが宛先に届くようにします。」 ↑ McBee 2009 、p. 22 :「MRAがMUAによって実行されることが多いバリアントロールであるのと同様に、メール送信エージェント(MSA) はMTAの特殊な形態です。MSAはMUAからのメール送信を受け入れ、メールフローに組み込み、必要に応じて特殊な処理を処理するように適応されています。Exchange 2007では、この機能はメールボックスロールとハブトランスポートロールのクライアント受信コネクタの両方で処理されます。」 1 2 Bauer 2003 、p. 458 : "[A] 電子メールのサプライチェーンにおけるIMAPの役割について少し説明します。IMAP(インターネットメッセージアクセスプロトコル、RFC 3501で規定)は、メール配信エージェント(MDA)のためのプロトコルです。PostfixやSendmailなどのメール転送エージェント(MTA)はネットワーク間でメールを転送しますが、MDAはMTAから宛先メールボックスにメールを転送します。私の著書『 Building Secure Servers With Linux』 のたとえを使うと、MTAが郵便局間で郵便物を運ぶ郵便トラックだとすれば、MDAは地元の郵便局からあなたの家に郵便物を配達する郵便配達員のようなものです。IMAPベースのMDAシステムは、ユーザーのメールボックスを格納し、MTAからメールを受信するIMAPサーバーと、IMAPクライアントソフトウェアを実行するユーザーグループという2つの部分から構成されます。最も人気のあるオープンソースのIMAPサーバーは、ワシントン大学IMAP(UW IMAP)、カーネギーメロン大学のCyrus IMAP、Inter7 Internet TechnologiesのCourier IMAPの3つです。人気のIMAPクライアントアプリケーションには、Netscape/Mozillaなどがあります。 Communicator、Ximian Evolution、Microsoft Outlook Express、KMail、mutt、pine、そしてApple Mac OS X Mail。 ↑ McBee 2009 、pp. 21–22 :「MUAがローカルメールボックスだとすれば、メールトランスポートエージェント(MTA) は、異なる町や都市を相互に接続する郵便局のインフラストラクチャです。MTAは、MUAやMTAなどの他のシステムからメッセージを受け取り、ルーティングし、受信者に確実に届ける責任を負います。メッセージは通常、送信者と受信者の2つのMTAを経由します(もちろん、両者が同じMTAを共有している場合は別です)。Exchange 2007 システムでは、ハブトランスポートとエッジトランスポートの役割がMTAの役割を担います。」 ↑ Schroder 2004 、p. 361 :「MTA:メール転送エージェント。これはサーバー間で電子メールを転送します。Sendmail、Exim、qmail、PostfixはMTAです。MTAはSMTPをサポートする必要があります。」 ↑ Vakali 2006 、p. 221 :「メール転送エージェント(MTA): MUAまたは別のMTAから渡されたメッセージを受け取り、適切な配信方法とメールがたどるべき経路を決定します。SMTPを使用して、メッセージを別のMTAまたはメール配信エージェント(MDA)に送信します。」 ↑ McBee 2009 、p. 22 :「この図に欠けているものは何でしょうか?この場合、それは地元の郵便局(あるいは、お好みであれば大企業の郵便室)に相当するもの、つまり郵便配達員(MDA) または地域配達員(LDA) です。受信メッセージが適切なシステム群に配達されると、MDA/LDAはそれが正しいメールボックスに投函されたことを確認する責任を負います。」 ↑ Schroder 2004 、p. 361 :「メール配信エージェント。これはMTAとMUAの中間に位置するものです。ProcmailとFetchmailは、よく使われるMDAの例です。MDAは必須ではありませんが、フィルタリング、ソート、自動応答などの追加機能を提供するために使用されます。」 ↑ Vakali 2006 、p. 221 :「メール配信エージェント: MTAからメッセージを受信し、ユーザーのメールサーバー上のユーザーのメールボックスに配信する。」 ↑ McBee 2009 、p. 21 :「メール取得エージェント (MRA)は、MUA(メール取得エージェント)と密接に関連しており、メインメールストアからメッセージを取得する役割を担います。Post Office Protocol(POP)やInternet Mail Access Protocol(IMAP)など、使用するプロトコルによっては、新しいメッセージがMUAにプッシュされるのを待つだけでは不十分で、何らかの手段でメッセージを取得する必要があります。一般的に、MRAは最新のシステムでは独立したコンポーネントではなく、MUA内のメッセージ取得をサポートする一連の追加ルーチンとして存在します。」 ↑ Vakali 2006 、p. 221 :「メール取得エージェント(MRA): ユーザーのメールサーバーからユーザーのローカル受信トレイにメールを取得します。MRAは多くの場合、電子メールクライアントに組み込まれています。」 ↑ 図1を参照。電子メールのライフサイクル ( Vakali 2006 、p.221 ) ↑ Faircloth 2013 、p. 51 :「電子メールを送信するプロセスフローは次のとおりです。 MUA(クライアント)は、適切な形式のメールをMSAまたはMTAに直接送信します。 MSAはMTAにメールを送付します 電子メールが「境界MTA」に到達するまで、追加のMTAを経由してルーティングされる場合があります。 境界MTAはDNSを使用してクエリを実行し、電子メールの宛先ドメインのMXレコードを特定します。 MTAはMXに接続し、電子メールを転送します。 MXは電子メールをMDAに転送します この時点で、電子メールは適切な内部メールサーバーに転送され、MUAまたはMRAが接続してユーザーに代わって電子メールを取得するまで(通常はPOPまたはIMAPプロトコルを使用して)保存されます。
参考文献 Bauer, Mick (2003). "Paranoid penguin: LDAPとIMAPによる安全なメール、パートI" . Linux Journal . 2003 (115、2003年11月): 12 – via ACM . Crocker, Dave (2009年7月) 「RFC 5598: インターネットメールアーキテクチャ」IETF 。2018年11月2日 取得 。 フェアクロス、ジェレミー(2013年12月11日)。エンタープライズアプリケーション管理:実装と運用に関する決定版ガイド 。 モーガン・カウフマン。ISBN 9780124077737 。 McBee, Jim (2009年1月26日). Mastering Microsoft Exchange Server 2007 SP1 . John Wiley & Sons . ISBN 9780470478141 。 シュローダー、カーラ(2004年11月29日)。Linuxクックブック:Linuxシステム管理者のための実践的 アドバイス 。O'Reilly Media。ISBN 9780596517502 。 ヴァカリ、アテナ (2006年9月30日)。Webデータ管理の実践:新たな技術とテクノロジー 。Idea Group Inc(IGI)。ISBN 9781599042305 。
外部リンク MuttWiki: メールコンセプト MuttWiki: MailConcept/Flow – 詳細なフロー、すべての役割を実証