第 10章メールサーバー

電子メールは各ユーザーが使用している電子メールクライアントから SMTP(Simple Mail Transfer Protocol)というプロトコルを使用してメールサーバーへ送信されます。受信したメールサーバーはそのメールが自ドメイン宛のメールであれば、通常はそのまま各ユーザのメールボックスへ格納し、別のドメインであれば、また SMTP を使用して宛先のメールサーバーへ転送します。このとき、メールサーバーは、DNS サーバーの MX レコードを参照し、直接、相手のメールサーバーへメールを転送します。このようにクライアントからメールを受け取り、配送する役割を持つプログラムは MTA(Mail Transfer Agent)と呼ばれ、このプログラムが動作しているサーバーのことを SMTP サーバーと言います。そして、SMTP サーバーが受信したメールは、MDA(Mail Delivery Agent)と呼ばれるプログラムにより、各ユーザーのメールボックスに格納されます。通常、メールボックスは、/var/spool/mail/ ディレクトリに各ユーザー名のファイルとして作成されます。このファイルが各ユーザーの未読メールであり、メールが配信される度にファイルの末尾に配信されたメールが追加されます。

ユーザーは、電子メールクライアントからメールサーバーへアクセスし、自分のメールボックスファイルに届いたメールを受信します。このとき電子メールクライアントは、POP3(Post Office Protocol Version3)または IMAP4(Internet Message Access Protocol Version4)というプロトコルを利用します。ユーザーによって受信されたメールはメールサーバー上のメールボックスファイルから削除されます。このように、メールボックスからメールを取り出して電子メールクライアントにメ ールを受け渡すサーバーが POP3 サーバーと IMAP4 サーバーです。SMTP サーバーと POP3 サーバーあるいは IMAP4 サーバーは「メールサーバー」と一言で括られることがありますが、これらのサーバーは厳密には区別されます。なお、SMTP サーバーと POP3/IMAP4 サーバーは物理的に 1 つのサーバー上で運用してもかまいません。

10.1. Postfix の概要

インターネットの黎明期から利用され、現在最も普及している事実上標準の MTA としては sendmail が有名です。sendmail の特徴の 1 つとしては、高い拡張性があげられます。新しく現れるさまざまな要求に対して、その高い柔軟性で対応してきました。それゆえ、現在に至るまで最も一般的な SMTP サーバーとして広く利用され続けています。しかし、sendmail の設定ファイルである /etc/mail/sendmail.cf の書式が非常に難解なため、sendmail.cf を適切に設定をするには、システム管理者がそれを理解するための多大な努力と労力を必要とするところが欠点といえます。そのために、sendmail.cf の作成を支援する補助ツールもいくつか存在します。代表的なツールとしては、WIDE プロジェクトが開発した CF や sendmail に標準で付属する m4 と呼ばれるマクロプリプロセッサを使用した cf などが有名です。しかし、これらのツールも常に sendmail の最新版に対応しているわけではなく、またツールによるバグの問題が起こることもあります。また、高い柔軟性ゆえに拡張を続けてきた sendmail のプログラムは、その複雑さゆえにセキュリティーホールが発見されることもしばしばあり、その度に対応を迫られるシステム管理者の労力も無視することはできません。

このような背景を踏まえ登場し、sendmail の代替としての地位を獲得しつつある次世代 MTA に Postfix があります。Postfix は、sendmail の欠点を補い、セキュリティや管理の容易さに優れていることが特徴です。sendmail.cf と比較すると、Postfix の設定ファイルは非常に単純です。また、Postfix の作者は TCP Wrappers の作者でもあることからもわかるように、セキュリティを十分に配慮していることも伺えます。Turbolinux 11 Server では、標準の MTA として Postfix を採用しています。

The Postfix Home Page

http://www.postfix.org/

Postfix のページ

http://www.postfix-jp.info/