Life with qmail-ldap

qmail-ldap のある暮らし

このドキュメントは,http://www.qmail-ldap.org/wiki/Lwql にある Life with qmail-ldap を翻訳したものです.
'''基本的に英語が苦手なため,翻訳ミス等が多数ある事が予想されますし,意訳をしている場面もあると思います.その為,原文もあわせて読んで下さい.

有効性 - Availability

このドキュメントのオリジナルバージョンは HTML フォーマットで http://www.lifewithqmail.org/ldap/ から常に取得できます.

イントロダクション - Introdunction

このドキュメント及び Dave Sill の Life With Qmail - qmail のある暮らし (http://www.lifewithqmail.org/) は qmail および ldap についての基本を説明していない為,理解していない場合はインスピレーションがわかないだろうし,役に立たないでしょう.このドキュメントは qmail-ldap の基本的なセットアップを説明しますが,あなたは,qmail および ldap を,qmail-ldap の作業をする際に理解しなければなりません.

qmail-ldap は,ユーザデータを検索するターゲットをディスク上のファイルからでは無く,ldap ディレクトリから検索する為の qmail 1.03 へのパッチです.これは,特に分散環境でより簡単な管理が可能になります.ISP 等で大きなメール環境を導入する為に非常によく適したクラスタリングサポートビルトインを qmail-ldap にまとめてあります.

このドキュメントは,あなたが行う必要がある物のほとんどを与えることを試みています.qmail-ldap のコンポーネントとどの様にそれらが一緒に適合するかの方法を記述し,代表的な導入の説明を提供します.そして,プロセスの中で良くある質問のいくつかを取り上げます.しかし,既存の qmail と ldap に関するドキュメントの置き換える事を意図してはいません.これはリファレンスではなく,順序よく進めるための入門書です.

このすばらしいソフトウェアの一部は Andre Oppermann と Claudio Jeker によって開発されました.

その他のリソース - Other resources

オンラインのドキュメント
公式の qmail-ldap のページ
Deve Sill の qmail のあるくらし
qmail-ldap のための追加パッチ
Adfinis がリリースした phpQLAdmin は Web ベースで qmail-ldap を管理するツールで,現在は Turbo Fredriksson がメンテナンスしています.
コマンドラインで管理するツールが利用可能です: http://www.enderunix.org/qldapadmin

メーリングリスト - Mailing-List

同じく,メーリングリスト qmail-ldap@qmail-ldap.org があります.参加,退会等の情報はこちら

もしあなたがリストに投稿するとしたら,あなたは利用可能なドキュメントを読み,LDAP と qmail について必要な情報を読み理解し,少なくとも control 以下の設定ファイル及び完全なエラーログを必要とします.これらが本当に多くなってしまった場合 Web サーバにアップロードし,それを情報とみなす為に URL を公表して下さい.

検索可能なアーカイブがあります.どうか,リストを尋ねる前に利用してください.

LDAP への短いイントロ - short Intro to LDAP

基本

Lightweight Directory Access Protocol または LDAP は大きいネットワークと組織の管理で非常に有用なツールです.SQL データベースシステムよりも最大 10倍速い,読み取りオペレーションに最適化されたデータベースです.LDAP の最も良い特徴の 1つが,ユーザアカウントを格納する能力です.一つのアカウントエントリが,UNIX ワークステーション,imap サーバ,Web ページのアクセスコントロールや電子メールアカウントで利用する事が出来ます.

LDAP サーバで qmailUser スキーマとユーザアカウントをロードする事で,組織の中のすべてのメールサーバで同じアカウントデータを共有する事ができます.Qmail-LDAP はすべてのユーザが内部の電子メールアカウントに user@company.com のようなスタイルを使うときでも,各ユーザのアカウントエントリで指定されたメールホストへのルーティングをサポートします.user@mailhost1.company.com のような内部アドレスをついかい,メールをイントラネットに残すときでも,それらを user@company.com に変換する必要はありません.

Qmail-LDAP の電子メールアカウントを格納するために LDAP を使う場合は,LDAP ディレクトリを構築するか,既存のディレクトリを修正する必要があります.Qmail-LDAP は,LDAP について事前に理解している事を管理者に要求しますので,HOWTO のこのセクションでは基本的な LDAP または,unix のトピックは扱いません.LDAP ディレクトリの構築と管理に不慣れな人々にとってのすばらしい本があります.そして,http://www.openldap.org/ に検索可能なメーリングリストアーカイブがあります.

1. Qmail-LDAP の作業の最初のパートは,ディレクトリサーバをセットアップし,スキーマの追加を行う事です.あなたがスキーマのチェックを無効にした場合,これは必要ありませんが,スキーマチェックを無効とした状態で LDAP サーバを動作させる事はとても困難になるでしょう.どのようにスキーマをロードするかは,あなたのサーバに依存します.

OpenLDAP 2.x スキーマ

slapd.conf を編集し,以下のラインを追加して下さい.もちろんファイルロケーションとマッチさせて下さい:

include /etc/ldap/schema/inetOrgPerson.schema
include /etc/ldap/schema/nis.schema      (required by inetOrgPerson.schema)
include /etc/ldap/schema/qmail.schema    (found from the qmail-ldap patch,
                                           copy it to your schema directory)

変更の効果を生むために,slapd を再起動して下さい.

OpenLDAP 1.2.x スキーマ

slapd.oc.conf を編集し,以下のスキーマを追加して下さい.

objectclass qmailUser
      requires
              objectclass,
              mail,
              uid
      allows
              mailMessageStore,
              homeDirectory,
              userPassword,
              mailAlternateAddress,
              qmailUID,
              qmailGID,
              mailQuota,
              mailHost,
              mailForwardingAddress,
              deliveryProgramPath,
              qmailDotMode,
              deliveryMode,
              mailReplyText,
              accountStatus

変更の効果を生むために,slapd を再起動して下さい.

コンフィグレーション

あなたがロードしたスキーマがあるので,少々システムを構成する事が必要です.私は,仮想のユーザアカウントを議論しようとしています.メールサーバ上にユーザの為のホームディレクトリ又は,/etc/passwd アカウントがぜんぜん無い事を意味します.つまり,これはユーザの遊び場では無く,メールサーバなのです.

これは,少量の制御ファイルの設定を伴います:

- edit /etc/passwd and add:  vmail:*:11184:2110::/var/qmail/maildirs/:/bin/true
- edit /etc/group and add:   vmail::2110
- mkdir /var/qmail/maildirs
- chown -R vmail:vmail /var/qmail/maildirs
- cd /var/qmail/control
- /var/qmail/control 内の指定された内容を持つ以下の制御ファイルを作成して下さい:
defaultdelivery:
./Maildir/
ldapmessagestore:
/var/qmail/maildirs
ldapgid:
2110
ldapuid:
11184

必要ならば,UID/GID とパスを代用して下さい.


注意: あなたが Courier-IMAP を使っている場合,この同じ vmail ユーザは,Maildir にアクセスする為に使用する事が出来ます.



ディレクトリ内のファイル配置

あなたは,この時点でディレクトリ階層とアカウントを作成する必要があります.ここでは,以前にまったくエントリも無い,新しくインストールされたディレクトリサーバからどうやって進めるかをデモンストレートします.

a. ldif を作成する為,あなたのお気に入りのテキストエディタを使用して下さい.また,以下はあなた固有のセットアップ状態に従って修正して下さい.ldif における最初のブロックは,slapd.conf ファイル内で定義されるディレクトリベースとマッチしていなければなりません:

suffix          "ou=company, c=CC"

また,次のエリアも

ou: accounts
dn: uid=elvis, ou=accounts, o=company, c=CC
cn: Elvis Presley
sn: Presley
objectClass: top
objectClass: person
objectClass: inetOrgPerson
objectClass: qmailUser
mail: elvis@graceland.com
mailAlternateAddress: elvis.presley@graceland.com
mailAlternateAddress: the-king@graceland.com
mailAlternateAddress: theking@nirvana.org
mailHost: mailhost1.graceland.com
mailMessageStore: /var/qmail/maildirs/elvis
uid: elvis
userPassword: {MD5}X03MO1qnZdYdgyfeuILPmQ=

b. ファイルを作成した後,ldapadd ユーティリティを使用してディレクトリ内にそれを読込んで下さい.

ldapadd -acrv -h ldap.company.com -D "cn=manager,dc=company,dc=com" -w managers_password -f my.ldif

詳細については ldapadd(1) マニュアルページを参照して下さい.


最終ビジョン


qmail-ldap とお互いに絡んでいるコンポーネント


qmail-queue
qmail-queue はメッセージを受け,それらをキューに置きます.それらは常に "received" ラインを通過し,メッセージ検査をまったく行いません.

qmail-send

qmail-send は qmail-queue によって発信キューに置かれたメッセージを処理し,ローカル配送の為の qmail-lspawn とリモート配送の為の qmail-rspawn を使用します.qmail-send はキューにある全てのメッセージを直接配送に再スケジュールします.

qmail-todo

qmail-send の作業負担を減らす為に qmail-todo はメールの前処理を行います.qmail-todo により,高い処理能力のメールサーバ全体の性能は過負荷をかけられた qmail-send プロセスによって引き起こされる "無差別な qmail シンドローム" よりずっと良いでしょう.

qmail-lspawn

qmail-lspawn はメールをローカルに配送する為にユーザを探し,それを実行する為に qmail-local を呼び出します.これはクラスタリングをサポートしています.

qmail-local

qmail-local は配送を実行します.これは .qmail ファイルを処理します.

qmail-rspawn

qmail-rspawn はリモート配送の為に qmail-remote を呼び出します.

qmail-remote

qmail-remote は SMTP 経由でメールをリモートホストに送信します.これは TLS 暗号化,QMTP プロトコル及びその他の機能をサポートします.

qmail-inject

qmail-inject は標準入力からメッセージを読み,ヘッダを追加し配送を処理する qmail-queue を呼び出します.

qmail-smtpd

qmail-smtpd は通常,25/tcp ポートをリスンし,SMTP 経由でリモートホストからメッセージを受け取ります.これは,SMTP 通信の間に LDAP ディレクトリを照合する為に補助プログラムである auth_smtp 及び qmail-verify を呼び出す事が出来ます.qmail-smtpd は TLS 暗号化と新しい環境変数をトリガとするアンチスパム技術を纏めてサポートします.

qmail-qmqpd
qmail-qmqpd は QMQP 経由でリモートホストからメッセージを受け取る,迅速なメッセージキューイングプロトコル (Quick Message Queuing Protocol) です.これは "常にメッセージを中継" します.従って,事前認証済みのホストだけが接続出来る事を確認しなければなりません.QMQP はクラスタ内の配送に使われます.もし貴方が qmail-ldap をクラスタ環境で使いたい場合は qmail-qmqpd をセットアップしなければなりません.

qmail-popup
qmail-popup はネットワーク上で POP3 経由でユーザ名,パスワードを読み認証の為のサブプログラム (通常は auth_pop) を呼び出します.

qmail-pop3d
qmail-pop3d は qmail-popup から呼び出され,POP3 セッションを処理します.

auth_pop
auth_pop は qmail-popup から認証するユーザに呼び出されます.これは qmail-ldap クラスタ内で POP3 セッションの転送に責任を持ちます.

auth_imap
auth_imapauth_pop と同様の働きをしますが,IMAP の為の物です.セッションの転送をハンドリングします.

qmail-ldaplookup
LDAP のセットアップが正しく行われているかを確認するツールです.qmail-ldaplookup -u [uid] または qmail-ldaplookup -m [mail address] と使用してください.


追加のソフトウェア

daemontools

Daemontools は,qmail-ldap に必要不可欠なコンパニオンパッケージです.デーモンを実行,管理する事を補佐するいくつかのヘルパープログラムを提供します.

qmail-ldap はいかなる修正も無く /var/qmail/boot をサービス起動スクリプトにより使用されて引き渡されます.

  • svscan は SystemV init に何となく似ている仕事をします: ジョブを監視し,動作し続ける事を保証します.ディレクトリ /service によって正常に起動し,そのディレクトリの各サブディレクトリにサービスを定義します.それらは通常のシンボリックリンクです.
  • svc は svscan を制御する対話型ユーザインタフェースを提供します: 起動させる為に "-up" オプションをつけ,停止させる為に "-d" オプションをつけたり,停止,起動といった再起動の為に "-t" オプションをつけて,コントロールディレクトリへのパスという形でサービス名を続けて入力します.最も一般的なケースは次のようになり,これは qmail-send を再起動します.
    svc -t /service/qmail-send
  • svstat は,サービスのステータスを通知します.コントロールディレクトリへのパスを続けて下さい.例えば,
    svstat /service/qmail-send
    は,特定のデーモンを監視する為に svscan より実行され,これが死んでしまった場合は再起動されます.
  • multilog は標準入力からログデータを読み込み,オプションでフィルタを通し,自動的にローテーションを処理して 1つ以上のログファイル内に結果を保存します.
    より多くの情報は daemonntools ホームページ上で見つける事ができます.

ucspi-tcp

UCSPI は UNIX クライアント/サーバプログラムインタフェースです.これは,プロセス間通信のへぷパープログラムの為のコマンドライン体系と環境変数仕様を定義します; これは,クライアントとサーバを書く事をより簡単にします.

UCSPI-TCP は TCP アプリケーションの為の UCSPI の別の実装です; これは,特定の環境変数とそれらの詳細について,より多くの詳細な指定をします.

ucspi-tcp は UCSPI-TCP を実装している djb のパッケージです.

  • tcpserver
    inetd ににた,シングルサービス.tcpserver の発動はコネクションポートをリスンし,到達した際に,UCSPI-TCP によって指定されるように tcpserver コマンドライン上で指定された引数,環境変数によってクライアントプログラムを起動します.
  • tcprules
    tcpserver の為のアクセス制御ルールをコンパイルし cdb データベースを作成します.
  • tcpclient
    クライアントヘルパープログラムです; UCSPI-TCP の仕様火に続き TCP プロトコルの為のネットワーククライアントの為のセットアップを行います.
    セキュアな pop3 と imap をサポートする為に必要な ucspi-tcp に有効な SSL/TLS 拡張パッチがあります.パッチは qmail-ldap ホームページ上で見つける事が可能です.

インストール

Appendix 1 に従って,ucspi-tcp 及び daemontools のインストールを行って下さい.

cr.yp.to から qmail-1.03.tar.gz を取得します..www.qmail-ldap.org からパッチを取得します.両ファイルを展開し,qmail-1.03 ディレクトリへ移動します.ソースツリーにパッチを適用します.

patch -p1 < /path/to/qmail-ldap-1.03-xxxxxxxx.patch

セットアップに反映する為,Makefile を編集して下さい.以下の値を変更する事が可能です:

  • ALTQUEUE
    qmail-queue パッチを有効にすることで,ランタイム上の別の qmail-queue プログラムを選択する事が可能になります.
  • BIGBROTHER
    For ISP that need to implement some surveillance method because of some beloved authoroties (like here in switzerland), you can enable a per address queue extra feature. See also the ~control/bigbrother file.
  • BIGTODO
    big todo パッチを有効にします.通常は必要ありません.
  • BIND_8_COMPAT
    コンパイル中に dns.c のビルドがなんの申告も無く失敗する場合,これを定義する事で助かる場合がります.MacOS X 10.3 で必要になります.
  • CLEARTEXTPASSWORD (本当に悪いアイデア)
    ldap において,クリアテキストパスワードを許可します.通常,接頭部の無いパスワードは暗号化パスワードとして扱われます.
  • DASH-EXT
    ダッシュ "-" 拡張メカニズムを有効にします.
  • DATA_COMPRESS
    有効な場合,SMTP 上で DATA 圧縮が可能になります.ZLIB オプションが必要です.
  • EXTERNAL_TODO
    外部の高性能な todo 処理を動作させます.高いメールインジェクションレートによる無分別な qmail シンドロームを回避します.
  • IGNOREVERISIGN
    gTLD 上の DNS ワイルドキャラクタマッチを拒否します.ベリサインに感謝.
  • QLDAP_CLUSTER
    クラスタリングコードをコンパイルします.注意: これはクラスタリングが有効(on)である事を意味している訳では無く,ただ,on にする事が出来る事を意味します.
  • QMQP_COMPRESS
    Use the QMQP on the fly compression for cluster forwards.
  • QUOTATRASH
    Trash を Quota 割当て計算に含めます (通常は含めません).
  • SMTPEXECCHECK
    DOS/Windows で実行出来る形式及び不正な MIME アタッチメント検出を有効にします.
  • LDAPLIBS
    ldap が必要とするライブラリで,通常は -lldap 及び -llber です.幾つかのシステム上では -lresolv が必要となります.コンパイル中に問題が生じた場合,ここを再確認して下さい. OpenLDAP では一般的に次の通りになります.
    LDAPLIBS=-lldap -llber
    NetScape? の為には,次の様な何かが必要となるでしょう.
    LDAPLIBS=-L/usr/local/ldap/lib -lldap50 -llber50 -lpthread
    LDAPINCLUDES=-I/usr/local/ldap/include
    PATH を調節する事を忘れないで下さい.
  • LDAPINCLUDES
    ldap インクルードファイルで,少なくとも ldap.h 及び lber.h へのパスになります.コンパイル中に問題が生じた場合,ここを再確認して下さい.
  • ZLIB
    ZLIB は -DDATA_COMPRESS 及び -DQMQP_COMPRESS の為に必要となります.zlib のインストールが標準でない場所にインストールされている場合,ZLIBINCLUDES を設定すべきです.
  • TLS
    SSL 経由で SMTP 暗号化を有効にします.OpenSSL が必要となります.qmail-remote で TLS をサポートする為には -DTLS_REMOTE を使用します.また,qmail-smtpd で TLS をサポートする為に,-DTLS_SMTPD を使用します.
  • TLSINCLUDES
    OpenSSL インクルードファイルへのパス.TLS を有効にしてコンパイルに問題があった場合はここを再確認して下さい.普段は: /usr/local/include 又は /usr/local/openssl/include になります.
  • TLSLIBS
    OpenSSL ライブラリへのパス.普段は: /usr/local/lib 又は /usr/local/openssl/lib になります.
  • OPENSSLBIN
    OpenSSL バイナリへのパス.普段は: /usr/sbin/openssl 又は /usr/local/openssl/bin/openssl になります.
  • MAKE_NETSCAPE_WORK
    on にすると,Netscape のダウンロードプログレスバー及び qmail-pop3d バグフィックスを行います.
  • AUTOMAILDIRMAKE
    auto-MAILdirmake-patch を有効にします.外部のスクリプトは必要ありません.
  • AUTOHOMEDIRMAKE
    auto-HOMEdirmake-patch をコンパイルします.homedir を作成する為に ~/control/dirmaker にて外部スクリプトを指定する必要があります.
  • SHADOWLIBS=-lcrypt & SHADOWOPTS=-DPW_SHADOW
    OpenBSD を除く殆どのシステム上で必要となります.幾つかのシステ (Linux, Solaris) でシステムユーザを使用する場合 -DSHADOWLIBS=-lcrypt が必要となります. また,SHADOWOPTS は幾つかのシステム (solaris) 上で shadowlibs をサポートする為に必要となります.
  • DEBUG
    デバッギングコードをコンパイルします.詳細は QLDAPINSTALL を見てください.
    qmail-ldap.h において ldap 属性名を変更する事が可能です.また,conf-* ファイルを確認して下さい.幾つかのシステム (少なくとも OpenBSD 3.4 以上) では,conf-spawn 又は conf-cc を修正する必要があります.
echo 125 > /path/to/conf-spawn
   - OR -
echo "cc -O2 -DFD_SETSIZE=4096" > /path/to/conf-cc

Makefile の修正及び conf-* の確認を行った後,qmail のユーザを追加しなければなりません.コンパイルの前にそれらを追加する事が必要で,コンパイル後はそれらの uid を変更する事は出来ません.INSTALL.ids のサンプルスクリプトを参照して下さい.

さぁ,コンパイルの時間です:

make setup check

TLS (SSL 暗号化) を使用する場合,証明書を作成する必要があります.証明書については OpenSSL のドキュメントを参照して下さい.

make cert
 - or -
make cert-req

設定例

基本セットアップ

  • control ファイルのセットアップ
    全てのファイルが /var/qmail/control にあります.
  • me
    メールサーバの完全修飾ドメイン名 (FQDN) を格納します.
    echo "mail.yourdomain.com" > me
  • rcpthosts
    qmail-ldap がメールを認める全てのドメインを,1行あたり1ドメインで格納します.
    echo "yourdomain.com" > rcpthosts
    echo "mail.yourdomain.com" >> rcpthosts
    echo "otherdomain.com" >> rcpthosts
  • locals
    qmail-ldap がメールをローカル配送する全てのドメインを格納します.rcpthosts と同じフォーマットです.
  • ldapbasedn
    ldap 検索の為の BaseDN.BaseDN についての詳細は OpenLDAP のドキュメントを参照して下さい.必須です.
  • ldapserver
    ldap サーバホスト名.冗長化の為に複数の ldap サーバを必要とする場合,1行あたり1ホストでリストして下さい.LDAP サーバがデフォルトポートの 389 以外で動作している場合はポート番号を付加する事が可能です.必須です.
    ldap.example.com:389
    ldap2.example.com:389
  • ldaplogin
    If you need to authentificate against your ldap server to retrieve the user information, this is the username to do so. Note: this is a ldap dn, not a unix username.
    デフォルト: NULL (認証しません)
    echo "cn=root, o=yourcorp, c=de" > ldaplogin
  • ldappassword
    ldaplogin を定義した際に必要となるユーザのパスワードです.クリアテキストですので,このファイルはオーナが root 且つモードを 600 にするべきです.
    デフォルト: NULL
  • ldaptimeout (20010101 から登場)
    この時間 (秒数) が経過したら,ldaplookup は "失敗" として扱われます.ldap サーバがハングしている時に役立ちます.デフォルト: 30秒
  • ldaplocaldelivery
    ldap ルックアップ時にエントリを見つけられなかった場合に,ローカルの passwd ファイルを参照します.qmail-lspawn 及び auth_pop に影響します.二値で 0 で off,1 で on になります.
    デフォルト: 1
    echo 0 > ldaplocaldelivery
  • ldaprebind
    有効 (1) ならば,qmail-ldap は ldap から userPassword 属性を検索せず,代わりに検索された DN と与えられたパスワード (auth_pop,auth_imap) を使用して,ldap サーバにバインドしようとします.これは ACL を一段と制限する事を可能とし,ユーザ自身を除いた誰もが ldap ディレクトリからのパスワード検索を実行する権利を必要としません.
    デフォルト: 0 (off)
  • ldapobjectclass (20010101 から登場)
    ldap ルックアップはにここで与えられた objectClass を持っているエントリに制限されます.他の目的にも ldap ディレクトリを使用し,特殊な objectClass (例えば qmailuser) を持つものだけがメールアカウントを持つような場合に有益です.
    echo "qmailuser" > ldapobjectclass

注意: 20010101 は壊れていて,効果を発揮しませんでした.

  • ldapuid
    仮想のユーザマップが作られるシステムユーザ id.システムアカウントを持たずにユーザを ldap ディレクトリを必要とするのと同じくらい多く追加する事が可能で,単一のシステムユーザ id にマップされて作ることが可能です - それはここで定義されます.
  • ldapgid
    全ての仮想ユーザマップが作られるシステムグループ id.
  • ldapdefaultdotmode
    .qmail ファイルのデフォルトの解釈
both (LDAP 属性 "deliveryProgramPath" と .qmail ファイルの両方を使用できます)
dotonly (.qmail ファイルのみ利用出来ます)
ldaponly (LDAP 属性 "deliveryProgramPath" と .qmail ファイルの両方が利用できません)
ldapwithprog (LDAP 属性 "deliveryProgramPath" が利用出来,.qmail ファイルは利用できません)

デフォルト: ldaponly
注意: もちろん non-ldap 配送 (ldaplocaldelivery が有効ならば /etc/passwd で検索されたユーザ情報) は行われます.

  • ldapmessagestore
    The default prefix for paths in mailmessagestore without leading / If you set this to /maildisk/ for example, the ldap attributes
mailmessagestore: joe/
mailmessagestore: /maildisk/joe/

are equivalent.

デフォルト: NULL

  • defaultquotasize

新たに配送される全てのメッセージを送信者に差し戻す事になるまで,ユーザが利用出来るディスク空間のデフォルトの最大値.サイズはバイト単位で表記します.existant な場合はユーザの mailquotasize 属性によって上書きされます.デフォルト: NULL (サイズ制限無し)

echo "1000000" > defaultquotasize

上記の場合: 1000000 byte (1MB) のサイズ.
quotawarining の設定を忘れないで下さい.忘れてしまっていた場合,全ての quota による警告メッセージは発行されません.

  • defaultquotacount

新たに配送される全てのメッセージを送信者に差し戻す事になるまで,ユーザが利用出来るメッセージ数のデフォルトの最大値.カウントはファイル単位です.existant な場合はユーザの mailquotacount 属性によって上書きされます.デフォルト: NULL (カウント制限無し)

echo "1000" > defaultquotacount

上記の場合: 最大 1000 のメッセージ数.
quotawarining の設定を忘れないで下さい.忘れてしまっていた場合,全ての quota による警告メッセージは発行されません.

  • quotawarning

クォータ警告メッセージのカスタムテキスト.

echo "You can contact us at +49 40 12345678" > quotawarning

注意: 複数行が利用出来ます.qmail-reply に似た %HEADER% マジックをサポートします.デフォルト: NULL (全てのクォータ警告が出力されません!)

  • custombouncetext
    差し戻し (バウンス) メッセージに追加出来るカスタムテキスト.複数行をサポートしています.デフォルト: NULL
echo "You can contact us at +49 40 12345678" > custombouncetext
  • relaymailfrom
    このファイルは,このサーバを通じて中継する事を許可する表書きアドレス (エンペローブアドレス) を含みます.送信者アドレスは偽装が非常に簡単な為,オープンリレーとなり得る為最低なアイデアです.代わりに POP before SMTP を使用するべきです.
echo "joe@yourdomain.com" > relaymailfrom
echo "@otherdomain.com" >> relaymailfrom

最初の例は,joe@yourdomain.com が中継する事を可能にし,2番目は @otherdomain.com で終わる全てのアドレスが中継可能な事を表しています.

  • rbllist
    送信側 IP アドレスをチェックするリアルタイムブラックリスト (RBL) サーバアドレスを含みます.これを有効にする場合に必要な更なる設定がありますので後ほど説明します.
  • badrcptto
    拒否されるローカルの受け取りアドレスのリストを含んでいます.送信側が RELAYCLIENT="" を持っていた場合,このファイルは効果を発揮しません.
  • dirmaker

autohomedirmake 機能をコンパイルした場合,homedir が無い場合に作成する為のスクリプトのフルパスを指定します.スクリプトはユーザの uid/gid を持って実行される為,ホームディレクトリが /home にあり joe (システム uid joe) のホームディレクトリが作成されるべきである場合,joe は /home への書き込み権限を持つ必要があります.全てのユーザが単一のシステム uid/gid ペアにマップされた仮想の利用環境である場合,この機能はとても優れており virtual/virtual と渡す事が出来ます.そして /home には virtual だけが書き込み可能であれば大丈夫です.The script gets the path for the to be created homedir as first parameter and aliasempty as second one.

#!/bin/sh
mkdir -m 700 -p $1
  • ldapcluster
    qmail-ldap の最も大きな機能の1つです: ネイティブなクラスタリングをサポートします.クラスタリングを有効にてコンパイルした場合はこのファイル経由でクラスタリングを有効にする事が出来ます:
echo 1 > ldapcluster

0 はクラスタを無効にします

  • ldapclusterhosts
    これはクラスタリングで使用するホストの代替名です.例えば mx1.example.com を持っており,ldapclusterhost は mx2.example.com が記述されています.この場合,mailHost 属性で mx1.example.com 又は mx2.example.com のいずれかを持つユーザのメールはローカル配送されます.
    注意: 複数行可能です.デフォルト: NULL



Hiroyuki Seino http://www.seichan.org/ http://www.seichan.org/blog/
Today:8 Yesterday:0 All:13227