技術解説 · 出典付きの回答

メール転送エージェント(MTA)とは?

メール転送エージェント(MTA)とは、簡易メール転送プロトコル(SMTP)を使って、電子メールのメッセージをあるコンピューターから別のコンピューターへ転送するソフトウェアです。リレーとして機能し、メールユーザーエージェント(MUA)や別のMTAからメッセージを受け取り、DNSのMXレコードに基づいて宛先サーバーへルーティングします。

仕組み

MTAは特定のポートで待ち受けて動作します。サーバー間の通信には通常ポート25が使われます。メッセージが届くと、MTAは受信者のアドレスを解析し、ドメインネームシステム(DNS)に宛先ドメインのMail Exchanger(MX)レコードを問い合わせ、対象サーバーとのTCP接続を確立します。宛先が利用できない場合、MTAはメッセージをキューに入れ、あらかじめ決められたスケジュールに従って後で再試行します。

送信者にとっての重要性

MTAは受信サーバーとの実際の送信やハンドシェイクを担うため、到達率にとって非常に重要です。適切に設定されたMTAは、メッセージが認証済みの経路で送信され、プロトコルの標準に従うことを保証します。送信者は多くの場合、専用のMTAやクラウドプロバイダーを使ってIPレピュテーションを管理し、ルーティングの不備や認証の欠如によってメールが受信サーバーに拒否されないようにしています。

運用上の考慮事項

運用上のよくある失敗には、リレー設定の誤りによってオープンリレーとなり、迷惑メールの送信に悪用されるケースがあります。また、送信を暗号化するためにMTAでSTARTTLSを設定しておく必要もあります。SendHQの無料ツールを使うと、SPFなどMTAを支えるDNSレコードが正しい形式になっているかを確認でき、なりすましを防いで送信エージェントの信頼性を高められます。

具体例

典型的な流れでは、ユーザーがOutlook(MUA)からメールを送信します。OutlookはそのメールをローカルのPostfixやEximのサーバー(MTA)に送ります。このMTAはgmail.comのMXレコードを調べてGoogleのメールサーバーのIPを見つけ、SMTPでメッセージをリレーします。GoogleのMTAはメッセージを受け取り、ローカル配信エージェント(LDA)に渡して、ユーザーの受信トレイに格納させます。

MTAとMDAの違い

MTAがネットワーク上でのメールの転送とルーティングを担うのに対し、メール配信エージェント(MDA)は最終段階を担います。MDAはチェーンの最後のMTAからメッセージを受け取り、ディスク上の特定のユーザーのメールボックスに書き込みます。そこからIMAPやPOP3などのプロトコルでアクセスできるようになります。

よく寄せられる質問

SMTPサーバーはMTAと同じものですか?

はい、実用上はリレーとして動作するSMTPサーバーがメール転送エージェントです。SMTPは、MTAが通信に使うプロトコルです。

1台のサーバーがMTAとMDAの両方を兼ねることはできますか?

はい、PostfixやSendmailなど多くのメールサーバーソフトウェアは、サーバー間のメール転送とローカルのメールボックスへの最終配信の両方を処理します。

MTAがMXレコードを見つけられない場合はどうなりますか?

MXレコードが存在しない場合、一部のMTAはドメインのAレコードへのメール配信を試みます。ただし、現在の構成ではこれはあまり一般的ではありません。

クラウドのメールAPIはMTAを使っていますか?

はい、クラウドプロバイダーは大規模なMTAのクラスターを運用し、APIで送信されたメールのスケーリング、キューイング、配信を処理しています。

一次情報源