(1)設定がシンプルである
qmailは設定を一括して行うconfファイル的なものはなく、役割が決められたファイルにパラメータを書き込むことで設定を行います。膨大な量をパラメータとして格納するsendmailのとの比較からこのように言われることが多いのだと思います。
|
(2)Sendmail,Postfixとは互換性なし
qmailは「sendmailイケてないよね」という思惑の基、登場したこともありsendmail,Potsfixとは構造がまったく異なります。互換性は当然ありません。sendmail・Postfixで組まれたシステムをqmailに移行するのは容易ではないと言われています。
|
qmailは役割毎に異なるプログラムが動作し、各々の役割を制御しています。そのためrootで稼働させなければいけないプログラムが減り、結果としてセキュリティ性を向上させています。windowsにしろLinuxにしろ管理者権限でプログラムを稼働させるよりも非管理者権限でプログラムを稼働させた方がセキュリティ上はベター!というところからきているのでしょう。
|
現在この特徴について、"他のMTAと比較した時に高速"であるかは微妙です。現に計測した結果によるとPostfixの方が早いようです。機会があれば計測してみたいですね。
|
qmail登場時に注目された特徴の1つのようです。各ユーザに用意された1つのファイルにメールを保持するMboxよりも安全にファイルを保管できます。もちろん設定次第ではmbox形式での管理も可能です。 |
CentOSを例にするとsendmail・Postfix共に標準リポジトリからyumでラクラクインストールできますが、qmailはソースインストールの必要があり、バグ修正などのパッチ適用が必要となる場面も多いです。なお、OpenSUSE(Linuxディストリビューションの1つ)のレポジトリを使えば、CentOSでもyumでインストールできる模様:)
|
エージェント名称 | 役割 | 関連ファイル・環境変数 |
qmail-smtpd | 外部(他のメールサーバやメールソフト)から接続を受け付け、qmail-queueに処理を渡す役割を持つ。qmailにインターネット経由で接続を受け付ける機能がないためxinetdやtcpserverを経由し起動する必要がある。rcpthostsで自身が配送を担当するドメイン宛のメールかをチェックする。 | rcpthosts $RELAYCLIENT |
qmail-inject | qmailが動作しているサーバ自身からメールを送信する際に利用する。標準入力経由で利用できるメールソフト的な立ち位置。sendmailコマンドに近い。 | defaultdomain defaulthosts |
qmail-queue |
qmail-smtpdかqmail-injectから受け取ったメッセージをキューに格納する。
|
|
qmail-send | キューから取り出したメッセージを自身宛てか、外部宛かを判断して、ローカル配送であればqmail-lspawn、リモート配送であればqmail-rspawnに処理を引き渡す。ここでローカル配送かリモート配送化が分岐する。 | locals virtualdomains |
qmail-clean | 異常が発生しキュー内に残ったファイルがあった場合などに、整合性を保持するために呼び出される。 | |
qmail-lspawn | どのユーザにメールを配送すべきか判断し、ローカル配送を行うための準備のため、qmail-localを呼び出す。 | |
qmail-local | ローカル配送を行う。配送対象となるユーザ権限で動作する。 | .qmail-default .qmail-xxx .qmail-xxx-default |
qmail-rspawn | リモート配送の準備のためqmail-remoteを呼び出します。 | |
qmail-remote | リモート配送を行う。外部サーバに対してSMTPコネクション張り、メールを送信する。 | smtproutes |
Copyright © 2021 たぐたぐ.com. All rights reserved.