![]() |
![]() |
![]() |
milter managerリファレンスマニュアル | ![]() |
---|
以下の規則に従います。
ライセンスが明記してあるファイル: そのライセンス
コマンド: GPL3(license/gpl.txt)
ドキュメント: GFDL(license/fdl.txt)
Webインターフェイス: AGPL3(license/agpl.txt)
ライブラリ: LGPL3(license/lgpl.txt)
具体的には以下の通りです。
ライセンスが明記してあるファイル:
binding/ruby/lib/milter/compatible.rb: Ruby's
admin/vendor/plugins/restful-auth/: MIT
コマンド: GPL3
src/以下
tool/直下
ドキュメント: GFDL
README, README.ja
doc/以下
Webインターフェイス: AGPL3
admin/以下
ライブラリ: LGPL3
上記以外
milter managerはmilter効果的に利用するためのmilterです。
milter managerを導入することにより、MTAが行っていたmilter管理 をmilter managerが行うことになるため、以下のような利点があり ます。
milter管理コストを減らすことができる
milterを柔軟に組み合わせることができる
詳細は はじめに に書いてありま す。
milterをサポートしたMTA
Sendmail >= 8.13.8
Postfix >= 2.3.3 (ただし、Postfixがサポートしているmilterの機能のみ利 用可能)
GLib >= 2.12.3
Ruby >= 1.8.5
Ruby/GLib2 (Ruby-GNOME2) >= 0.16.0
UNIX系OS
Linux >= 2.6.18
FreeBSD
LinuxではUbuntu 8.04 TLS、CentOS 5.2上で動作することを想定し ています。そのため、各ディストリビューションに含まれているソ フトウェアに関しては、そのバージョンのソフトウェアで動作する ことを想定しています。
tar.gz: <URL:http://sourceforge.net/project/showfiles.php?group_id=236233>
Subversion:
% svn co https://milter-manager.svn.sourceforge.net/svnroot/milter-manager/milter-manager/trunk milter-manager
milter-managerコマンドはbin/以下ではなくsbin/以下にインストー ルされることに注意してください。非常に多くの場合、一般ユーザ はsbin/にパスが通っていないので、フルパスで起動します。
configure時に--prefixオプションを指定していない場合は /usr/local/sbin/以下にインストールされているので以下のように なります。
% /usr/local/sbin/milter-manager --help
インストールが成功していれば、使用できるオプションが表示され ます。オプションの詳細は以下の通りです。まずは、--show-configオ プションで設定内容を確認するとよいでしょう。
% /usr/local/sbin/milter-manager --show-config
指定できるオプションは設定ファイル中の値を上書きします。
--help |
利用できるオプションを表示して終了します。 |
--connection-spec=SPEC |
接続を待ち受けるソケットを指定します。SPECの書式は次のう ちのどれかです。
例:
設定ファイル中の「manager.connection_spec」の値を上書きし ます。 |
--config-dir=directory |
設定ファイルのあるディレクトリを指定します。 milter-managerは、まず、directory/milter-manager.confの 読み込みを試みます。もし、見つからなかった場合はシステム 標準の場所にあるmilter-manager.confを読み込みます。 |
--pid-file=file |
milter-managerのプロセスidをfileに保存します。 設定ファイル中の「manager.pid_file」の値を上書きします。 |
--user-name=name |
milter-managerをnameユーザの権限で実行します。 milter-managerはroot権限で起動しなければいけません。 設定ファイル中の「security.effective_user」の値を上書きします。 |
--group-name=name |
milter-managerをnameグループの権限で実行します。 milter-managerはroot権限で起動しなければいけません。 設定ファイル中の「security.effective_group」の値を上書きします。 |
--daemon |
端末を切り離し、バックグラウンドでデーモンプロセスとして動 作します。運用時はデーモンプロセスで動作させることをお勧 めします。 設定ファイル中の「manager.daemon」の値を上書きします。 |
--no-daemon |
このオプションより前に指定した--daemonオプションを無効にし ます。 |
--show-config |
設定内容を表示して終了します。設定内容はそのまま設定ファ イルに使える書式で表示されます。登録されているmilterを確 認する場合や、milter-managerの問題を報告する場合などで有 用です。 |
--verbose |
実行時のログをより詳細に出力します。ログはsyslogのmailファ シリティで出力します。デーモンプロセスになっていない場合 は標準出力にもログが出力されます。 「milter_log_level=all」というように環境変数を設定している 場合と同じ効果があります。 |
--version |
バージョンを表示して終了します。 |
milter managerにはいくつか便利なツールが付属されていて、bin/ 以下にインストールされます。
milter-test-server: mta側のmilterプロトコルの機能を提供 する。mta無しでmilterの動作をテストするために使用するこ とができる。
milter-test-client: mta側から渡ってきた情報を表示するだ けのmilter。mta側から渡っている情報を確認するために使用 することができる。
milter-performance-check: mtaの性能を計測するsmtpクライ アント。
milter-manager-log-analyzer: milter-managerのログを解析 し、milter-managerに登録されたmilterの動作をグラフ化する。
milter-test-serverはmta側のmilterプロトコルを話します。つまり、 mta無しでmilterに接続することができます。現時点では、同様のツー ルは存在しないため、mta+milterではなくmilter単体のテストを行 うためには有用なツールです。例えば、以下のような用途に利用で きます。
milterの性能計測
milterの動作確認
milter-test-serverは実行時間を表示するので、簡単な性能計測に も利用できます。このとき、mtaとは関係なくmilter単体での実行時 間を確認できるため、mta経由で試す場合よりも問題点の発見が容易 になります。
milter-test-serverはヘッダや本文が変更された場合は、変更され た内容を表示します。そのため、ヘッダや本文を変更するmilterの テストも容易に行うことができます。cutterなどと組み合わせて自 動化された単体テストを作成することもできます。
--help |
利用できるオプションを表示して終了します。 |
--connection-spec=spec |
接続先のmilterのソケットを指定します。specの書式は次のう ちのどれかです。
例:
|
--negotiate-version=version |
クライアントへ送信するmilterプロトコルのバージョンとして versionを使用します。 デフォルトは8(sendmail 8.14のデフォルトと同じ)です。 |
--connect-host=host |
接続元のホスト名としてhostを使用します。 このホスト名はmilterのxxfi_connect()コールバックに渡りま す。 |
--connect-address=spec |
接続元のアドレスとしてspecを使用します。specの書式 は--connection-specの書式と同じです。 このアドレスはmilterのxxfi_connect()コールバックに渡りま す。 |
--helo-fqdn=fqdn |
helo/ehlo時の引数としてfqdnを使用します。 このfqdnはmilterのxxfi_helo()コールバックに渡ります。 |
--from=from |
mail from時の引数としてfromを使用します。 このアドレスはmilterのxxfi_envfrom()コールバックに渡ります。 |
--recipient=recipient |
rcpt to時の引数としてrecipientを使用します。複数の宛先を 指定したい場合は--recipientオプションを複数回指定してく ださい。 このアドレスはmilterのxxfi_envrcpt()コールバックに渡りま す。xxfi_envrcpt()は1つの宛先につき1回呼ばれるので、宛先 が複数個ある場合はその分だけxxfi_envrcpt()が呼ばれます。 |
--header=name:value |
名前がnameで値がvalueのヘッダを追加します。複数のヘッダ を追加したい場合は--headerオプションを複数回指定してくだ さい。 このヘッダはmilterのxxfi_header()コールバックに渡ります。 xxfi_header()は1つのヘッダにつき1回呼ばれるので、ヘッダ が複数個ある場合はその分だけxxfi_header()が呼ばれます。 |
--body=chunk |
本文の一片としてchunkを追加します。複数のまとまりを追加 する場合は--bodyオプションを複数回指定してください。 この本文のまとまりはmilterのxxfi_body()コールバックに渡り ます。xxfi_body()は1つのまとまりにつき1回呼ばれるので、 まとまりが複数個ある場合はその分だけxxfi_body()が呼ばれま す。 |
--unknown=command |
未知のsmtpコマンドとしてcommandを使います。 このコマンドはmilterのxxfi_unknown()コールバックに渡りま す。xxfi_unknown()コールバックは、xxfi_envrcpt()コールバッ クとxxfi_data()コールバックの間に呼ばれます。 |
--mail-file=path |
メールの内容としてpathにあるメールを使います。メール中に from:やto:があった場合は、それらの値を送信元や宛先のアド レスとして使用します。 |
--output-message |
milter適用後のメッセージを表示します。ヘッダを追加・削除 したり、本文を置換するmilterの動作を確認したい場合はこの オプションを指定してください。 |
--verbose |
実行時のログをより詳細に出力します。 「milter_log_level=all」というように環境変数を設定している 場合と同じ効果があります。 |
--version |
バージョンを表示して終了します。 |
milter-test-clientはmta側から渡ってきた情報を表示するだけの milterです。マクロも含めてmta側から渡っている情報を表示する ので、mta側のmilterの設定を確認するために利用できます。
postfixのアーカイブの中にも同様のツールがあります。 src/milter/内にあるtest-milter.cがそれで、postfixのmilterの実 装のテストにも使っているようです。ただし、test-milterはマクロ までは表示してくれません。もし、マクロを利用しているmilterが 期待通りに動かない場合の問題調査を行うのであれば、 milter-test-clientが役立つでしょう。
--help |
利用できるオプションを表示して終了します。 |
--connection-spec=spec |
接続を待ち受けるソケットを指定します。specの書式は次のう ちのどれかです。
例:
|
--verbose |
実行時のログをより詳細に出力します。 「milter_log_level=all」というように環境変数を設定している 場合と同じ効果があります。 |
--version |
バージョンを表示して終了します。 |
milter-performance-checkはmtaの性能を計測するsmtpクライアント です。milter-test-serverでmilterのみの性能を計測し、 milter-performance-checkでmtaとmilterを合わせた性能を計測する という住み分けです。
同様のツールにはpostfix付属のsmtp-sourceがあります。どちらも、 同時に複数のsmtpセッションを張って一斉にメールを送信すること ができます。機能的にはsmtp-sourceの方が高機能です。
milter-performance-checkが便利なのはsmtpセッションの時間のみ を計測してくれることです。smtp-sourceではtimeコマンドと組み合 わせるなどして、smtp-source全体の実行時間を計測します。
実際は、smtpセッションの時間のみでも、ツール全体の実行時間で もそれほど違いはでないと思います。また、テスト用のメール総数 を多くすればするほど、smtpセッションにかかる時間が大きくなり、 ツール自体の実行時間による影響は小さくなります。
milter-performance-checkが提供している機能で十分な時は、 milter-performance-checkを利用し、それでは不十分な時は smtp-sourceを利用するとよいでしょう。
--help |
利用できるオプションを表示して終了します。 |
--smtp-server=server |
接続先のsmtpサーバを指定します。 既定値はlocalhostです。 |
--smtp-port=port |
接続先のsmtpサーバのポート番号指定します。 既定値は25です。 |
--helo-fqdn=fqdn |
heloコマンドでfqdnを使います。 既定値はlocalhost.localdomainです。 |
--from=from |
mailコマンドのアドレスにfromを使います。 既定値はfrom@example.comです。 |
--recipient=recipient |
rcptコマンドのアドレスにrecipientを使います。複数の宛先を 指定する場合は複数回このオプションを指定してください。 既定値は[to@example.com]です。 |
--n-mails=n |
合計でn個のメールを送信します。各メールは一斉に送信を開始します。 既定値は100です。 |