メールが「届く」仕組みを考えると、その主役を担うのはメールサーバーに備わるMTAの機能です。このパートではMTAにスポットを当てましょう。
MTAにはいくつか種類がありますが、一般的に使われているのは、「Sendmail」「qmail」「Postfix」の3つです。これら3製品で国内のMTAの90%以上ものシェアを誇っています▼。これ以外に最近注目のMTAに「Exim」があります。DebianやUbuntu▼に標準で採用されています(表3-1)。
▼誇っています http://www.mailradar.com/mailstat/countries/Japan.htmlのデータから。7月2日に確認したところ、qmailが35%、Sendmailが33%、Postfixが26%でした。
▼DebianやUbuntu いずれも無償で利用可能なLinuxディストリビューションです。
一番古くから利用されているMTAはSendmail▼です。1981年にリリースされてから改変を重ね、35年もの間、多くの人に利用されてきました。
▼Sendmail Sendmailといえば筆者も含め、多くのメールサーバー管理者を悩ませたのが「sendmail.cf」という設定ファイルです。独自の構文で書かれていて、手作業で直接編集するのは非常に難しかったのです。ITインフラ技術者なら一度はこの難解で理解し難い設定ファイルを参照してほしいと思います。この設定ファイルの難解さから、「sendmail.mc」というm4と呼ぶマクロ言語で簡単に書ける設定ファイルを最初に記述して、sendmail.cfにマクロ変換して設定ファイルを生成するのが一般的な手法になりました。
次に登場したのがqmailです。このqmailは動作が高速で、セキュリティも非常に強固な特徴があります。設定ファイルも簡単です。ただqmail本体のソースコードは1998年のリリースが最後で、それ以降は開発が止まっています。ほかの開発者が機能追加やバグ修正のために用意した多くのパッチ(修正プログラム)を適用して運用しなければならないという問題があります。
最近よく利用されているのはPostfixです。MySQL、PostgreSQL▼などデータベースとの連携機能が充実していたり、Webベースの管理画面で簡単に利用できたりするなどの理由から、多くのシステムで採用されています。
▼MySQL、PostgreSQL いずれもオープンソースのデータベースです。