メッセージ送信エージェント(MSA)またはメール送信エージェントは、メールユーザーエージェント(MUA)から電子メールメッセージを受信し、メール転送エージェント(MTA)と連携してメールを配信するコンピュータプログラムまたはソフトウェアエージェントです。RFC 6409で規定されているSimple Mail Transfer Protocol(SMTP)の派生プロトコルであるESMTPを使用します。[ 1 ]
多くのMTAはMSAの機能も果たしますが、MTAの機能を完全に備えていないMSAとして特別に設計されたプログラムもあります。[ 2 ]歴史的に、インターネットメールでは、MTAとMSAの両方の機能がポート番号25を使用しますが、MSAの公式ポートは587です。[ 1 ] MTAはユーザーの受信メールを受け入れ、MSAはユーザーの送信メールを受け入れます。

MTAとMSAの機能を分離することで、いくつかの利点が生まれます。
利点の1つは、MSAが作成者のMUAと直接やり取りするため、メッセージ形式の軽微なエラー(日付、メッセージID、宛先フィールドの欠落、ドメイン名が欠落したアドレスなど)を修正したり、エラーを即座に作成者に報告して、受信者に送信される前に修正できるようにできることです。他のサイトからメッセージを受け取るMTAは、このような修正を確実に行うことはできず、そのようなMTAによって生成されたエラー報告は、メッセージが既に送信された後にのみ作成者に届きます(届くとしても)。
もう 1 つの利点は、専用ポート番号 587 を使用することで、ユーザーが常にドメインに接続して新しいメールを送信できることです。スパム (ボットネットの被害者が意図せず送信するスパムを含む) に対処するため、多くのISPや機関ネットワークは、ポート 25 でのリモート MTA への接続を制限しています。ポート 587 [ 3 ]での MSA へのアクセスにより、ノマド ユーザー (たとえば、ラップトップで作業しているユーザー) は、他のネットワーク内からでも、好みの送信サーバー経由でメールを送信し続けることができます。送信者ポリシーや署名慣行が適用される場合、特定の送信サーバーを使用することが必須となります。
もう1つの利点は、MTAとMSAの機能を分離することで、MTAがリレーを拒否しやすくなることです。つまり、ローカルで提供されるドメインの受信者宛てではないメールを拒否できます。これは、ISPがウイルスに感染したクライアントコンピュータからのスパム送信を防ぐために使用する戦略です。対照的に、MSAは一般的にインターネット上のあらゆる受信者宛てのメールを受け入れる必要がありますが、そのMSAを使用する権限を持ち、認証によってMSAに身元を確立した送信者からのメールのみを受け入れます。メールの送信と受信メールの受け入れが通常同じプロトコルとサーバーを使用して行われていた時代には、認証なしで任意の宛先にメールを送信できる機能により、スパマーはMTAをスパム配信の手段として利用することができ(1つのメッセージトランザクションでMTAに多数の受信者へのメッセージのリレーを要求できるため)、メッセージの発信元を追跡することも困難でした。
さらに、MSAとMTAはスパムフィルタリングに関して異なるポリシーを持つことができます。ほとんどのMSAは、送信者が提供するユーザー名とパスワードによる認証を必要とします。そのため、このようなMSAが受信したメッセージは、MSAと直接関係のある送信者に追跡可能であり、送信者は自身の行為について責任を負うことができます。これにより、MSAはスパムフィルタリングを全く行わないか、他のドメインからの受信メールを受け入れることを目的としたMTAよりもスパムフィルタリングを緩やかにすることができます。任意のドメイン間で送信されるメールの信頼を確立することは困難です。なぜなら、一般的に、信頼や身元を確立できるようなドメイン間の直接的な関係が存在しないからです。このような信頼がない場合、MTAは通常、スパムと正当なトラフィックを区別するためにヒューリスティックとサードパーティの評判サービスに頼る必要がありますが、これらのメカニズムはいずれもエラーが発生しやすいという歴史があります。[ 4 ] [ 5 ] MSAとMTAを分離することで、メール送信時に信頼性の低いスパム認識メカニズムの使用を回避し、正当なメールが正常に配信される確率を高めます。
最近のメールクライアントはデフォルトでポート 587 を使用しますが、古いクライアントは依然としてポート 25 を提案します。後者の場合、ユーザーはポート番号を手動で変更する必要があります。また、MUA は、特定のドメインのSRV レコードを検索して、どのサーバーが特定のドメインの MSA を提供しているかを自動的に検出する可能性もあります。ドメイン example.com は、次のようにレコードを公開できます。[ 6 ]
_submission._tcp.example.com. SRV 0 1 587 mail.example.com.
RFC 6409 では、クライアントがメール送信サービスを使用するために認可および認証されている必要があります。たとえば、SMTP-AUTH (ESMTPA) で説明されているように、またはRADIUS、公開鍵証明書、または (ほとんど廃止された) SMTP 以前の POPなどの他の手段によって認可および認証されます。
MSAは、送信されたメールが構文的に有効であり、関連するサイトポリシーに準拠していることを確認する必要があります。RFC 6409には、いくつかのオプション機能が含まれています。
アクセス プロバイダは、SUBMISSION ポート 587 を使用して外部インターネットにアクセスするユーザーをブロックしてはなりません。