数年前、Linux 環境で利用できる無料の電子メール サーバー ソフトウェアは Sendmail だけでした。しかし、Sendmail の欠点のため、一部の開発者は他の電子メール サーバー ソフトウェアを開発しました。現在、Linux 環境で実行される無料のメール サーバー、つまり MTA (Mail Transfer Agent) にはいくつかのオプションがあり、より一般的なものには、Sendmail、Qmail、Postfix、exim、Zmailer などが含まれます。この記事では、Linux 環境で比較的大きな影響を与えるいくつかの主流 MTA の特徴を詳しく説明し、その利点と欠点を 1 つずつ分析および比較して、ユーザーが Linux 環境で無料の MTA を選択できるようにしたいと考えています。環境に応じて。
接尾辞
Postfix は、IBM が資金提供し、Wietse Venema によって開発されたフリー ソフトウェア プロジェクトの製品であり、その目的は、sendmail 以外のメール サーバーの選択肢をユーザーに提供することです。 Postfix は、高速で管理が容易で、可能な限りのセキュリティを提供するよう努めると同時に、ユーザーの使用習慣に合わせて sendmail メール サーバーとの互換性を維持するよう努めます。当初、Postfix は VMailer という名前でリリースされましたが、後に商標上の理由から Postfix に名前変更されました。
主な設計目標
Postfix プロジェクトの目標は、sendmail の代替手段をユーザーに提供するメール サーバーを実装することです。その設計目標には次のものが含まれます。
パフォーマンスの点では、Postfix は同様のサーバー製品よりも 3 倍以上高速です。Postfix がインストールされたデスクトップ コンピュータは、1 日に何百万通もの文字を送受信できます。 Postfix 設計では、Web サーバー設計手法を使用してプロセス作成のオーバーヘッドを削減し、他のファイル アクセス最適化手法を使用してソフトウェアの信頼性を確保しながら効率を向上させます。
互換性。 Postfix は、移植を容易にするために Sendmail との互換性を念頭に置いて設計されました。 Postfix は /var[/spool] /mail、/etc/aliases、NIS、および ~/.forward ファイルをサポートします。ただし、管理を簡単にするために、Postfix は設定ファイル sendmail.cf をサポートしていません。
セキュリティと堅牢性。 Postfix は、過度の負荷がかかっている場合でもプログラムの信頼性を確保するように設計されています。ローカルファイルシステムに空きスペースや使用可能なメモリがない場合、Postfix は状況をさらに悪化させるために再試行する代わりに、自動的に諦めます。
柔軟性。 Postfix は構造的に 10 を超える小さなサブモジュールで構成されており、各サブモジュールは SMTP プロトコルを介したメッセージの受信、メッセージの送信、メッセージのローカル配信、アドレスの書き換えなどの特定のタスクを実行します。特定のニーズが生じた場合は、プログラム全体を更新せずに、新しいバージョンのモジュールを使用して古いモジュールを置き換えることができます。機能をオフにするのも簡単です。
安全。 Postfix は複数の防御層を使用して、ローカル システムを攻撃者から保護します。ほぼすべての Postfix デーモンは、固定の低特権 chroot の下で実行できます。ネットワークとセキュリティに敏感なローカル配信プログラムの間に直接パスはなく、攻撃者が最初に攻撃を突破する必要があります。ローカル システムにアクセスする前に、他のいくつかのプログラムを介してアクセスする必要があります。 Postfix は、なりすましを防ぐために、自身のキュー ファイルや IPC メッセージの内容を完全に信頼しているわけでもありません。 Postfix は、送信者から提供されたメッセージを出力する前にメッセージをフィルタリングします。また、Postfix プログラムには set-uid がありません。
Postfix のいくつかの機能
複数の送信ドメインのサポート: sendmai は、インターネット、DECnet、X.400、および UUCP 間のメッセージ転送をサポートします。 Postfix は柔軟になるように設計されており、この種の転送を実現するために仮想ドメイン (ビジュアル ドメイン) やエイリアスを必要としません。ただし、初期のリリースでは STMP と UUCP の限定的なサポートのみがサポートされていましたが、中国のユーザーにとって複数の送信ドメインのサポートは意味がありません。
仮想ドメイン: ほとんどの場合、仮想ドメインのサポートを追加するには、Postfix ルックアップ テーブルを変更するだけで済みます。他のメール サーバーでは、この効果を実現するために複数レベルのエイリアスまたはリダイレクトが必要になることがよくあります。
UCE 制御 (UCE、迷惑商用電子メール): Postfix は、Postfix 自体を介して電子メールを転送できるホストを制限でき、アクセスが許可される電子メールの制限をサポートします。 Postfix は、ブラックリスト、RBL ルックアップ、HELO/送信者 DNS 検証などの通常の制御機能を実装します。コンテンツベースのフィルタリングは現在実装されていません。
テーブルビュー: Postfix はアドレス書き換え言語を実装していませんが、拡張テーブルビューを使用してアドレス書き換え機能を実装しています。テーブルはローカル dbm または db ファイル形式にすることができます。 [カットページ]
Postfix アーキテクチャと Sendmail との比較
Postfix は、半常駐型の相互運用可能なプロセスに基づいたアーキテクチャであり、各プロセスは特定のプロセス派生関係 (親子関係) を持たずに特定のタスクを完了します。さらに、さまざまな機能を完了するための独立したプロセスは、「モノリシック」プログラムよりも優れた分離性を持っています。また、この実装方法はアドレス書き換えなどの各サービスをプロセス作成のオーバーヘッドなしでどのPostfixコンポーネントでも利用できるという利点がありますが、もちろんアドレスを書き換えるだけで済むわけではありません。この方法を採用しています。
Postfix は次の方法で実装されます。常駐マスター サーバーがコマンドに従って Postfix デーモンを実行し、デーモンがネットワーク メール メッセージの送受信、メールのローカル配信などの機能を実行します。デーモン プロセスの数は設定パラメータによって決まり、デーモン プロセスの実行回数 (再利用回数) は設定に応じて決まります。アイドル時間が設定パラメータで指定された制限に達すると、デーモン プロセスは自動的に終了します。 。この方法では、プロセス作成のオーバーヘッドが大幅に削減されますが、個々のプロセス間の分離は良好に維持されます。
Postfix の設計目標は、Sendmail の代替となることです。このため、ローカル配信プログラムなどの Postfix システムの多くの部分は、inetd などの設定ファイルを編集および変更することで簡単に置き換えることができます。
Postfix の中核は、10 を超える半常駐プログラムによって実装されています。機密保持上の理由から、これらの Postfix プロセスは、保護されたディレクトリ内の Unix ソケットまたは FIFO を介して相互に通信します。この方法を使用すると機密性が保証されますが、Postfix プロセスはこの方法で受信したデータを盲目的に信頼しません。
Postfix プロセス間で転送されるデータ量には制限があります。多くの場合、Postfix プロセス間で交換されるデータ情報は、キュー ファイル名と受信者リスト、または一部のステータス情報だけです。メール メッセージはファイルに保存されると、メール配信プログラムによって読み取られるまでそこに残ります。
Postfix は、情報の損失を避けるためにいくつかの一般的な手段を使用します。つまり、確認応答を受信する前に、flush と fsync() を呼び出してすべてのデータをディスクに保存します。エラー状態を回避するために、すべてのシステム コールの戻り結果を確認してください。
公平を期すために言えば、sendmail は優れた MTA (メール転送エージェント) であり、最初に開発されたとき、Eric Allman は主にメール配信の成功を考慮して設計を行っていました。残念ながら、Sendmai はインターネット環境で遭遇する可能性のあるセキュリティ問題をあまり考慮せずに開発されました。 Sendmail はほとんどのシステムで root ユーザーとしてのみ実行できます。つまり、これらの問題に加えて、脆弱性があると非常に深刻な結果を招く可能性があります。Sendmail は高負荷下では適切に動作しません。
安全性
Postfix は root として実行する必要はありませんが、アクセス、送信、およびローカルメール配信を処理するプロセスを生成するマスター プログラムを root として実行することのみが必要です。一連のモジュール式コンポーネントを使用することにより、各タスクは個別のプログラムによって実行されます (監査が容易になります)。たとえば、送信電子メールはキュー ディレクトリにアンロードされ、そこで「pcikup」プログラムが電子メールを取得して「cleanup」プログラムに渡します。その後、「cleanup」プログラムがその電子メールを「trivial-rewrite」に渡します。このプログラムは、電子メールの処理を担当します。最後に、メールの目的は、他のシステムがメールを「smtp」プログラムに配信することです。また、Sendmail と比較して、Postfix は chroot 環境をセットアップするのも簡単です。これは、master.cf ファイル (通常は /etc/postfix にあります) を編集するだけで実現できます。Postfix は、定義されたキュー ディレクトリ (通常は /var/spool/postfix にあります) に chroot されます。また、プロセス制限を設定することもできます。 master.cf 内の単一の Postfix モジュールの場合。ユーザーは、Postfix を実行するユーザーを制限できます。一般に、Postfix は「postfix」ユーザーとして実行されます (概念的には、このユーザーは特定のキュー ディレクトリにアクセスできます)。 Postfix のもう 1 つの大きな利点は、設定ファイルが明確で理解しやすいことです。
Sendmail との比較 sendmail などのメール システムは、単一ブロック構造に従って設計および実装されており、この「単一ブロック」プログラムはすべての機能を実装します。もちろん、この構造により、システムの異なる部分間でのデータの共有が容易になります。しかし、この構造には致命的なエラーが発生する傾向があります。 qmail などのメール システムは、階層構造を使用して、さまざまな機能を持つサブモジュールのプロセスを一定の順序で実行し、実行後に解放します。この方法には優れた「分離」特性がありますが、プロセス作成のオーバーヘッドとプロセス間通信のオーバーヘッドが増加します。ただし、サブモジュール プロセスの実行順序を合理的に計画することで、オーバーヘッドを許容範囲内に抑えることができます。
Sendmail の代わりに他の MTA を使用するのは非常に面倒であり、ユーザーは新しい MTA の構成と使用法に慣れるまでに多くの時間を費やす必要があります。 Postfix を使用すると、多くの既存の設定ファイルを利用できます。 (アクセス、エイリアス、virtusertable など) は、master.cf で簡単に定義するだけで済みます。さらに、Postfix は Sendmail と非常によく似た動作をします。ユーザーは sendmail コマンドを使用して Postfix を起動できます。
もちろん、あるソフトウェアを別のソフトウェアと置き換えて使用するには、特定の問題を解決する必要があります。 Postfix のセキュリティ機能の一部が原因で、Postfix を構成するときにいくつかの問題が発生する可能性があります。最も一般的な問題は、root ユーザーにメールを送信することです。 Postfix は通常、メールを配信するためにそれ自体の権限 (root ユーザーにメールを送信するために必要) を増やしません。ユーザーは、root: someuser のように、エイリアス ファイルで root のエイリアスを定義する必要があります。これは、いくつかのメーリング リスト モジュール、特に SmartList にも影響します。一般に、メーリング リストを実装するには、構成が簡単な Majordomo を使用するのが最善です。
Sendmail の非常に顕著な問題は、スケーラビリティとパフォーマンスの問題です。たとえば、ユーザーが構成ファイルを自動的に更新する (仮想ホストへのメールのリダイレクトなど) ために Sendmail を毎日再起動したい場合、問題が発生します。 Sendmail は、電子メールの送受信を処理するための新しいプロセスを生成します。これらのプロセスは送信が完了するまで存在し、その後、Sendmail はスクリプトを正しく再起動できなくなります。 Postfix の場合、ユーザーは postfix reload コマンドを発行するだけで済み、Postfix は設定ファイルをリロードします。
さらに、数万人のユーザーがいるメール サーバーの場合は、ファイルを使用して、ユーザーが送信した一致する電子メール アドレスを保存します (たとえば、bob が送信した手紙の差出人は [email protected] に変更されます)。ユーザー数が多い場合、ファイルは非常に大きくなり、システムの動作効率に影響します。 Postfix はデータベース バックエンド (現在は MySQL のみをサポート) と統合して、その構成情報を保存できます。データベース メソッドは、ファイル メソッドよりもスケーラビリティがはるかに優れています。
IBMのオープンソース著作権ライセンスに準拠しており、ユーザーは自由にソフトウェアを配布したり、二次開発を行うことができます。唯一の制限は、Postfix に加えられた変更を IBM に返さなければならないことです。 IBM が Wietse の開発に資金を提供したためです。
Qmailとの比較
Qmail の欠点は、設定方法が Sendmail と矛盾しており、保守が容易ではないことです。さらに、Qmail の著作権ライセンスは非常に曖昧で、ソフトウェアと一緒にリリースされることさえありません。アプリケーション作成者からのメモ: Qmail の独自の修正バージョンを配布したい場合は、私の許可を得る必要があります。
Qmail qmail は、Dan Bernstein によって開発された無料でダウンロード可能な MTA で、最初のベータ バージョン 0.70.7 は 1996 年 1 月 24 日にリリースされました。バージョン 1.0 は 1997 年 2 月にリリースされました。現在のバージョンは 1.03 です。 [カットページ]
Qmailの特徴
セキュリティ Qmail のセキュリティを検証するために、Qmail の支持者は Qmail のセキュリティの脆弱性を発見するために 1,000 ドルの報奨金を申し出ましたが、1 年後、報奨金は請求されず、フリー ソフトウェア財団に寄付されました。現在、Qmail の作者も Qmail のセキュリティ脆弱性を見つけるために 500 ドルを投資しています。
速度: Qmail は中規模のシステムで約 100 万件の電子メールを配信でき、486 では 1 日あたり 100,000 件を超える電子メールを処理することもでき、並列配信もサポートしています。 Qmail は電子メールの並行配信をサポートしており、約 20 件の電子メールを同時に配信できます。電子メール配信の現在のボトルネックは SMTP プロトコルにあり、STMP 経由で電子メールを別のインターネット ホストに配信するには 10 秒以上かかります。 Qmail の作成者は、メール配信を高速化するために QMTP (Quick Mail Transfer Protocol) を提案し、Qmail でサポートされています。 Qmail の設計目標は、最終的には 1,600 万台のマシンで 1 日あたり約 100 万件の電子メールを配信できるようにすることです。
信頼性: 信頼性を確保するために、Qmail は、電子メールがディスクに正しく書き込まれた場合にのみ成功した処理結果を返します。これにより、ディスク書き込み中にシステム クラッシュや停電が発生した場合でも、電子メールが書き込まれないことが保証されます。代わりに、再配達してください。
特にシンプルな仮想ドメイン管理では、仮想 POP ドメインをサポートする vpopmail と呼ばれるサードパーティが開発したアドオンもあります。このパッケージを使用するために、POP3 ユーザーはシステム上に公式アカウントを持つ必要はありません。
ezmlm を使用して、ユーザー制御のメーリング リスト機能をサポートします。
メール ユーザーとシステム アカウントは分離されているため、ユーザーにメール アカウントを設定する必要がなく、セキュリティが向上します。
Sendmail と Qmail の比較
まず第一に、sendmail は長い開発の歴史を持つ MTA であり、現在のバージョンは 8.10.2 です。もちろん、Sendmail には移植性、安定性、バグがないことの保証という点で一定の保証があります。しかし、インターネット上には Sendmail に対する攻撃に関する投稿が数多くあり、管理者にとっては悪夢のようなものです。 Sendmail の開発プロセス中に、経験豊富な Sendmail 管理者のグループが生み出され、Sendmail には、ブライアン コスタレスとエリック オールマンが執筆したオライリーの sendmail の本など、Sendmail のコレクションに加えて、多数の完全なドキュメントがあります。インターネット上の多数のチュートリアル、FAQ、その他のリソース。これらの大量の文書は、Sendmail のさまざまな機能を有効に活用するために非常に重要です。しかし、Sendmai は現在、成熟した MTA です。
もちろん、Sendmail にはいくつかの欠点があります。機能が多すぎるため、構成ファイルが複雑になります。もちろん、m4 マクロを使用すると、設定ファイルの生成がはるかに簡単になります。ただし、すべての構成オプションを使いこなすのは簡単ではありません。 Sendmail には過去のバージョンに多くのセキュリティ上の脆弱性があったため、管理者は迅速にバージョンをアップグレードする必要がありました。また、Sendmail は人気があるため攻撃の標的にもなり、これには長所と短所の両方があります。セキュリティ ホールがすぐに発見される可能性があることを意味しますが、Sendmail の安定性と安全性も向上します。もう 1 つの問題は、Sendmail のデフォルト構成には一般に最小限のセキュリティ機能しかなく、Sendmail が攻撃に対して脆弱になることが多いことです。 Sendmail を使用する場合は、開いた各オプションの意味と影響を必ず理解する必要があります。 Sendmail の仕組みを理解すると、Sendmail のインストールと保守が非常に簡単になります。 Sendmail の構成ファイルを通じて、ユーザーは考えられるすべてのニーズを満たすことができます。
Qmail は、セキュリティ問題を念頭に置いて設計および実装されたオプションです。安全な電子メール ゲートウェイなどの迅速なソリューションが必要な場合は、Qmail が適しています。 Qmail と Sendmail の設定ファイルはまったく異なります。 Qmail に関しては、独自の構成ファイルがあり、構成ディレクトリには 5 ~ 30 の異なるファイルが含まれており、各ファイルはさまざまな部分 (仮想ドメインや仮想ホストなど) の構成を実装します。これらの設定手順は man で詳しく文書化されていますが、Qmail のコード構造はあまり良くありません。
Qmail は Sendmail よりもはるかに小さく、今日のメール サーバーにある機能の一部が欠けています。 Sendmail とは異なり、qmail はドメイン名の正確性を保証するために電子メール エンベロープの送信者のドメイン名を検証しません。 RBL 自体のサポートは提供しませんが、実装するにはアドオンが必要です。 、Sendmail は RBL をサポートします。同様に、Qmail は、意図した受信者が存在しない電子メールの受信を拒否することはできません。代わりに、最初に電子メールを受信してから、このユーザーに属さない電子メールを返します。 Qmail の最大の問題は、複数の受信者に電子メールを送信する処理にあります。同じドメイン内の複数のユーザーに大きな電子メールを送信する場合、Sendmail は電子メールのコピーのみを宛先メール サーバーに送信します。 Qmail は複数回並行して接続し、毎回コピーをユーザーに送信します。ユーザーが毎日複数のユーザーに大量の電子メールを送信する必要がある場合、Qmail を使用すると大量の帯域幅が無駄になります。これは次のように考えることができます。Sendmail の最適化により帯域幅リソースが節約され、Qmail の最適化により時間が節約されます。ユーザー システムの帯域幅が良好な場合、Qmail のパフォーマンスが向上します。ユーザー システムの帯域幅リソースが限られており、大量のメーリング リスト情報を送信する必要がある場合は、Sendmail の方が効率的です。 Qmail は .forward をサポートしません (.forward は多くの場合、ユーザーにとって非常に便利です)。Qmail は /var/spool/mail を使用しませんが、メールをユーザーのホーム ディレクトリに保存します。 Qmail を使用してこれらのタスクを完了するには、ユーザーが自分でタスクを実装するか、サードパーティが提供する信頼性の低いモジュールを使用する必要がある場合があります。
Qmail のソース コードは Sendmail よりも理解しやすいため、MTA メカニズムを内部的に理解したい人にとっては利点があります。 Qmail はセキュリティの面でもより安定しているはずです。 Qmail には優れた技術サポートがありますが、それほど広く使用されておらず、Sendmail のような大規模な管理者ユーザー ベースが存在します。 Qmail のインストールは Sendmail ほど自動化されておらず、手動の手順が必要です。さらに、Qmail のドキュメントは Sendmail ほど完全ではなく、内容も豊富ではありません。
Qmail には Sendmail よりもアドオンが少ないです。一般に、経験がやや少ない管理者にとっては、Qmail を選択する方が比較的適切です。 Qmail はよりシンプルで、その特別な機能は一般ユーザーのニーズを満たすことができます。 Sendmail はオフィス スイートに似ており、その機能の 80% は使用されないことがよくあります。これにより、Qmail には、Sendmail にはない実用的な機能が組み込まれているため、より人気が高まります。 Qmail は、ホストまたはユーザーのカモフラージュ、仮想ドメインなどもサポートしています。 Qmail はシンプルなので、設定も比較的簡単です。
Qmail は Sendmail よりも安全で効率的であると考えられています。Qmail を実行する Pentium マシンは 1 日に約 200,000 件のメッセージを処理できます。
qmail は他の MTA よりもはるかにシンプルであり、主に次の点に反映されています。
(1) 他の MTA はメール転送、メール エイリアス、メーリング リストに独立したメカニズムを使用しますが、qmail は単純な転送メカニズムを使用してユーザーが独自のメーリング リストを処理できるようにします。
(2) 他の MTA は、高速かつ安全ではない方法と低速キュー方式によるメール配信メカニズムを提供しますが、qmail 配信は新規メールの出現によってトリガーされるため、その配信には高速キュー方式という 1 つのモードしかありません。
(3) 他の MTA には、MTA の平均負荷を監視するための特定のバージョンの inetd が実際に含まれていますが、qmail はシステム負荷を制限する内部メカニズムを設計しているため、qmail-smtpd はシステムの inet から安全に実行できます。
sendmail には多くの商用サポートがあり、ユーザー ベースが大きいため、インターネット上には多くの技術サポートが提供される可能性があります。 Qmail には非常に限られた技術サポートしかありません。 Qmail のサポートを提供する会社 inter7.com は、Web ベースの管理ツール QmailAdmin や vpopmail を介した仮想ドメインのサポート、さらには Web ベースのクライアントを含む、無料のアドオンも提供しています。スクウェブメール。
Qmail には他にもいくつかの欠点があります。たとえば、DSN は標準に完全に準拠しておらず、DSN をサポートしていません。著者は、DSN は滅びつつあるテクノロジーであり、Qmail の VERP は DSN などの他のホストのサポートに依存せずに同じ作業を完了できると考えています。 Qmail のもう 1 つの問題は、7 ビットのシステム標準に準拠しておらず、毎回 8 ビットを送信することです。メールの受信側がこの状況に対応できない場合、メールは文字化けしてしまいます。
セキュリティの点では、Sendmail は開発中に多くの有名なセキュリティ脆弱性を経験しましたが、Qmail は比較的短く簡潔ですが、それでも基本的な STMP 機能を提供します。 Qmail のコード コメントは少なくなります。 Qmail の優れた機能は、ユーザーのすべてのメールを保存するために 1 つの大きなファイルを使用するのではなく、オプションのディレクトリベースのメール保存形式をサポートしていることです。ユーザーのメール サーバーが多くの POP3 サービスを実行する場合、このメール保存形式により効率が向上します。残念ながら、Pine 自体はこのストレージ形式をサポートしていません。必要に応じて、この目的を達成するためにいくつかのパッチを使用できます。
Qmail の利点は、各ユーザーが root ユーザー権限を持たずにメーリング リストを作成できることです。たとえば、ユーザー foo は、より優れた機能を提供するために、foo-slashdot、foo-linux、foo-chickens という名前のメーリング リストを作成できます。 ezmlm (EZ Mailing List Maker) と呼ばれるツールで、自動登録とログアウト、インデックス作成などの Majordomo のさまざまな機能をサポートできますが、すべて CLI 駆動であり、編集する必要があるのはいくつかのファイルのみです。 Qmail は、一般に少数のユーザーのみをサポートするか、メーリング リストの管理に使用される小規模システムでの作業に非常に適しています。 Qmail は高速かつシンプルです。セキュリティと簡単な構成が必要な場合は、Qmail が最適です。Qmail は 2 時間で構成できますが、Sendmail は 2 日では構成できない場合があります。
rocketmail 内部などはすべて qmail を使用して構築されています
Zメーラー
ZMailer は、Unix システム用の高性能マルチプロセス メール プログラムです。 [X.400 用語では MTA とも呼ばれます]。サーバー ftp://ftp.funet.fi/pub/unix/mail/zmailer/ から自由にダウンロードできます。モノブロックモードでも設計されています。 Hotmail などのメール システムは、Zmailer を使用して構築されています。
Exim Exim は、ケンブリッジ大学によって開発された GPL 準拠の MTA であり、そのスタイルは Smail 3 に似ていますが、Smail 3 よりも完全です。最新バージョンは3.15です。そのメイン サイトは http://www.exim.org/ です。最大の特徴は設定の簡単さですが、セキュリティはQmailやPostfixほどではありません。
以下は、いくつかの MTA の特性の比較です。一般的に、Qmail と Postfix はどちらも非常に優れた MTA であり、多くの場合、Postfix は Qmail よりも開発の歴史が古いです。
MTA 成熟度 セキュリティ機能 パフォーマンス Sendmail 互換性 モジュラー設計 qmail 中 高 高 高 アドオン はい Sendmail 高 低 高 低 × いいえ Postfix 低 高 高 高 はい はい exim 中 低 高 中 はい いいえ
もちろん、ここで紹介したいくつかの MTA 以外にも、商用または無料の MTA が利用可能です。