Show Table of Contents
第16章 メールサーバー
電子メール は 1960 年代に誕生しました。当時のメールボックスは、ユーザーのホームディレクトリにあるファイルで、そのユーザーのみが読み取り可能でした。初期のメールアプリケーションは、そのファイルの最下部に新規テキストメッセージを追加していたため、ユーザーは、絶えず拡大するファイルの情報をかき分けて特定のメッセージを見つける必要がありました。この方式では、同じシステム上のユーザーに対してしかメッセージを送信できませんでした。
電子メールのメッセージファイルのネットワーク転送は、1971 年に Ray Tomlinson というコンピュータエンジニアが、インターネットの先駆けである ARPANET を介して 2 台のマシン間でテストメッセージを送信したのが初めてです。電子メールによる通信はすぐに広がり、2 年足らずで、ARPANET のトラフィックの 75 パーセントを占めるようになりました。
今日、標準化されたネットワークプロトコルをベースとする電子メールシステムは、インターネット上で最も幅広く使用されているサービスに進化しました。Red Hat Enterprise Linux には、電子メールに対応、アクセスする高度なアプリケーションが数多く備わっています。
本章では、今日使用されている最新の電子メールプロトコルと、電子メールの送受信を行うために設計されたプログラムについて概説します。
16.1. 電子メールプロトコル
今日、電子メールはクライアント/サーバーのアーキテクチャを使用して配信されています。電子メールのメッセージは、メールクライアントプログラムを使用して作成されます。次に、このプログラムが作成されたメッセージをサーバーに送信します。メッセージはサーバーにより受信者の電子メールサーバーに転送され、そこで受信者の電子メールクライアントへと渡されます。
このプロセスを有効にするために、各種の標準のネットワークプロトコルは、様々なマシン (多くの場合、異なるオペレーティングシステムを実行し、異なる電子メールプログラムを使用している) で電子メールの送受信を行えるようにします。
以下は、電子メールの転送に最も一般的に使用されているプロトコルです。
16.1.1. メール転送プロトコル
クライアントアプリケーションからサーバーへのメール配信、及び送信元サーバーから送信先サーバーへのメール配信は、SMTP (Simple Mail Transfer Protocol 簡易メール転送プロトコル) により処理されます。
16.1.1.1. SMTP
SMTP の第一の目的は、メールサーバー間における電子メールの転送ですが、これは電子メールクライアントにとっても極めて重要となります。電子メールを送信するには、クライアントはメッセージを送信メールサーバーに送信します。送信メールサーバーはこれを受けて、送信先のメールサーバーに配信の連絡を行います。このため、電子メールクライアントを設定する時には SMTP サーバーを指定する必要があります。
Red Hat Enterprise Linux では、ユーザーはメール配信を処理するようローカルマシン上の SMTP サーバーを設定することができます。ただし、送信メール用にリモート SMTP サーバーを設定することも可能です。
SMTP プロトコルに関して重要なのは認証が不要である点です。これにより、インターネット上の誰でも、個人や大規模なグループに対してでも電子メールを送信することができます。迷惑メールや スパム が可能になるのは SMTP のこうした特性が原因です。リレー制限を強制すると、インターネット上の任意のユーザーが、ご使用の SMTP サーバーを介してインターネット上の別のサーバーへ電子メールを送信することを制限できます。リレー制限を強制していないサーバーは、オープンリレー サーバーと呼ばれます。
Red Hat Enterprise Linux には、Postfix 及び Sendmail SMTP プログラムが備わっています。
16.1.2. メールアクセスプロトコル
メールサーバーから電子メールを取得するために電子メールクライアントアプリケーションが使用する主要なプロトコルには、POP (Post Office Protocol ポストオフィスプロトコル ) と IMAP (Internet Message Access Protocol インターネットメッセージアクセスプロトコル) の 2 つあります。
16.1.2.1. POP
Red Hat Enterprise Linux のデフォルトの POP サーバーは Dovecot で、dovecot パッケージにより提供されています。
注記
Dovecot を使用するには、初めに
dovecot パッケージがご使用のシステムにインストールされているか次のコマンドを root で実行して確認します:
~]# yum install dovecot
Yum を使用したパッケージのインストールについての詳細は、「パッケージのインストール」 を参照して下さい。
POP サーバーを使用する場合、電子メールメッセージは電子メールクライアントのアプリケーションからダウンロードされます。デフォルトでは、ほとんどの POP 電子メールクライアントでは、電子メールサーバーのメッセージが正しく転送されるとそのメッセージは削除されるように自動的に設定されています。ただし、この設定は通常は変更できます。
POP は、電子メールのファイル添付を可能にする MIME (Multipurpose Internet Mail Extensions 多目的インターネットメール拡張) などの重要なインターネットメッセージング標準と完全な互換性があります。
POP が最適に機能する対象は、電子メールを読む単一のシステムを持つユーザーです。また、インターネットやメールサーバーを持つネットワークへの固定接続がないユーザーにも正しく機能します。残念ながら、速度が遅いネットワークを使用するユーザーの場合には、POP はクライアントプログラムに対して、認証を行った上で各メッセージのコンテンツ全体をダウンロードするよう要求します。このプロセスは、メッセージに大きなファイルが添付されている場合は長時間かかる場合があります。
標準
POP プロトコルの最新版は POP3 です。
ただし、あまり使用されていない
POP プロトコルのバリアントにも様々な種類があります:
- APOP —
MDS(Monash Directory Service) 認証を使用したPOP3です。暗号化されていないパスワードを送信するのではなく、エンコードされたユーザーパスワードのハッシュが電子メールクライアントからサーバーへ送信されます。 - KPOP — Kerberos 認証を使用した
POP3です。 - RPOP —
RPOP認証を使用したPOP3です。これは、パスワードに似たユーザーごとの ID を使用し、POP 要求を認証します。ただしこの ID は暗号化されていないため、RPOPのセキュリティレベルは標準POPと同程度です。
セキュリティを強化するために、SSL (Secure Socket Layer セキュアソケットレイヤ) 暗号化をクライアント認証とデータ転送セッションに使用することが可能です。これは、
pop3s サービスまたは /usr/sbin/stunnel アプリケーションを使用して有効にすることができます。詳細は 「通信のセキュリティ保護」 を参照してください。
16.1.2.2. IMAP
Red Hat Enterprise Linux でのデフォルト
IMAP サーバーは Dovecot で、dovecot パッケージにあります。Dovecot のインストール方法については 「POP」 を参照してください。
IMAP メールサーバーを使用する場合、電子メールメッセージはサーバーに残るためユーザーは読み取り、削除を行うことができます。IMAP により、クライアントアプリケーションがサーバー上でメールディレクトリを作成、名前変更、削除を行い電子メールを整理、保存することもできます。
IMAP は複数のマシンを使って電子メールにアクセスするユーザーに特に役立ちます。このプロトコルでは、メッセージが開封されるまでは、電子メールのヘッダー情報しかダウンロードされず帯域幅を節減できるため、低速な接続でメールサーバーに接続するユーザーにも便利です。ユーザーは、メッセージを表示またはダウンロードすることなく削除することも可能です。
便宜のため、
IMAP クライアントアプリケーションはメッセージのコピーをローカルでキャッシュすることが可能です。そのため、ユーザーは IMAP サーバーに直接接続していない時でも、既読メッセージを閲覧することができます。
IMAP は POP と同様に、電子メールのファイル添付を可能にする MIME などの重要なインターネットメッセージング標準と完全に互換性があります。
セキュリティを強化するために、
SSL 暗号化をクライアント認証とデータ転送セッションに使用することが可能です。これは、imaps サービスまたは /usr/sbin/stunnel プログラムを使用して有効にすることができます。電子メール通信をセキュアにする詳細は 「通信のセキュリティ保護」 を参照してください。
無償や商用の IMAP クライアント及びサーバーは他にも提供されています。これらの多くは、IMAP プロトコルを拡張し、追加機能を提供します。
16.1.2.3. Dovecot
IMAP 及び POP3 プロトコルを実装する imap-login 及び pop3-login プロセスは、dovecot パッケージに含まれているマスター dovecot デーモンにより発生します。IMAP 及び POP の使用は /etc/dovecot/dovecot.conf 設定ファイルで設定します。デフォルトでは dovecot は、SSL を使用して IMAP と POP3 をセキュアなバージョンとともに実行します。POP を使用するよう dovecot を設定するには、次のステップを実行します。
protocols変数がコメント解除されていて (行頭のハッシュ記号 (#) を削除)、pop3引数を含むよう/etc/dovecot/dovecot.conf設定ファイルを編集します。例えば以下のとおりです。protocols = imap imaps pop3 pop3s
protocols変数がコメントアウトされている場合は、dovecotはこの変数に指定されたデフォルト値を使用します。- この変更を現行のセッションで有効にするには、以下のコマンドを実行します:
~]#
service dovecot restart - この変更を次のブート時に有効にするには、以下のコマンドを実行します:
~]#
chkconfig dovecot on注記
dovecotが報告するのはIMAPサーバーを起動したことだけですが、POP3サーバーも起動する点に注意してください。
SMTP とは違い、IMAP と POP3 はユーザー名とパスワードを使用して接続するクライアントを認証する必要があります。デフォルトでは、両方のプロトコルのパスワードとも暗号化されていないネットワーク上で渡されます。
dovecot で SSL を編集するには、以下を実行します:
/etc/pki/dovecot/dovecot-openssl.conf設定ファイルを必要に応じて編集します。ただし、標準的なインストールではこのファイルへの変更は必要ありません。/etc/pki/dovecot/certs/dovecot.pem及び/etc/pki/dovecot/private/dovecot.pemファイルの名前変更、移動、削除を行います。/usr/libexec/dovecot/mkcert.shのスクリプトを実行して、dovecotの自己署名証明書を作成します。証明書は/etc/pki/dovecot/certs及び/etc/pki/dovecot/privateディレクトリにコピーされます。変更を有効にするには、dovecotを再起動します:~]#
service dovecot restart
dovecot の詳細は http://www.dovecot.org でオンラインで参照できます。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.