注意:あくまでも私のsendmail Xならびに英語の勉強用に翻訳したものである。
原文:http://www.sendmail.org/sm-X/
Sendmail X
sendmail Xは、以下の主題を念頭において設計されたメッセージ転送エージェントである:
- 安全性(security)
- 信頼性(reliability)
- 効率(efficiency)
- 設定容易性(configurability)
- 拡張性(extendibility)
sendmail Xは、1つだけrootで動作するものを含め、5つの主要モジュールで構成される:
- mcp:メイン制御プログラム(main control program)はinetd(8)のように、他のsendmail Xモジュルを起動し、それらの実行を監視する。mcpはポート25を利用(bind)するためにrootで起動し、bind後に実効ユーザを変更する。
- smtps:SMTPサーバ。電子メールを受け取る。
- smtpc:SMTPクライアント。電子メールを送信する。
- smar:アドレス解決プログラム(address resolver)は、メールルーティング用のDNSを含む各種マップの検索機能を提供する。
- smgr:キューマネージャ(queue manager)は、SMTPサーバとクライアントの間での電子メールの流れ(flow)を制御する。
これらのモジュールのすべては永続的(persistently)に起動する。smtpsとsmtpcは、インターネットアプリケーション向けのスレッディングAPIスイートを提供するstatethreadsライブラリを使用する。smarとqmgrはPOSIXスレッドAPIを使用する。
sendmail X設定ファイルの文法は非常にシンプルで、CプログラムやBIND9の設定ファイルに似ている。設定ファイルは、たとえばタブや1行1オプションなどといった特別なレイアウトは要求されないが、構文要素である(カーリー)ブレイスやセミコロンには依存する。
sendmail Xの最初のリリース (X.0)は、安全で効率的なメールゲートウェイとして使われることが想定されていた。sendmail Xではsendmail 8(あるいはそれ以外のオープンソースなMTAs)では利用できない機能を提供する。しかし、メールの内容を修正する機能、たとえばアドレスマスカレーディングやヘッダ中のアドレス変更(追加・削除)機能は提供されていない。今後のバージョンでは、おそらくそれらの機能が追加されるであろう。
さらにこのバージョンのsendmail Xでは、ローカル配信エージェント(LDA)やメール投函プログラム(MSP)(*1)は付属していない。付属のドキュメントには、そういった処理を行うために利用できるプログラムや、直接利用できない他の機能をどのように実装するかの説明が記されている。
sendmail X.0には、policy milterライブラリ(libpmliter)が付属している。これはsendmail 8から知られているlibmilterに似た機能を提供する。しかしながら(前述のとおり)、メールの中身を修正する機能は含まれていない。pmilter API用には2つのmilterプログラムが寄与され、contribディレクトリ内のものが利用できる。
sendmail Xの全容(導入方法や設定、運用などを含む)は、単一のREADMEファイルに記述されている。このREADMEファイルは各種書式
(dvi,
HTML,
PostScript,
PDF, そして
plain text)
で利用可能であり、その中から利用者は自分に適した書式を選ぶことが出来る。加えて、バックグラウンドの理解のために、実装やその他の全容などもカバーしているデザインドキュメントが別途利用できる。
Sendmail X デザインドキュメント
2005年5月5日バージョンのsendmail Xデザインドキュメントが、いくつかの書式で利用できる。
注意: このドキュメントは300ページ以上ある。
Sendmail X ライセンス
2006年5月19日までのsendmail Xでは、sendmail 8のライセンスと若干異なるものを有している。
smX-0.1.Beta2.0以降のバージョンのライセンスは、sendmail 8と同じものに変更された。
Sendmail X フィードバック
sendmail Xに関するフィードバックは、以下宛にお願いしたい。
< smx + feedback (at) sendmailx . org >
(わかりにくくて恐縮だが、
(at)は@に置き換え、空白は削除のこと)
Sendmail X ソースコード
ダウンロードすることで、sendmail Xのソースコードが利用できる。ソースコードには各種書式のREADMEファイルが付属している。
Sendmail X プロジェクト
sendmail Xには多くのプロジェクトが存在する。プロジェクトは、(繰り返し)要求された機能を提供し、sendmail Xに一層の魅力を加えるのに一役買っている。
Copyright © Claus Aßmann;
all rights reserved.
訳注(*1) MSPの"Submission"は、直訳すれば「投稿」「提出」「提案」といった意味になるが、MTA(やMSA)にメールを渡すその様子が、あたかもポストに「投函」するイメージに近いと感じたため、あえて「投函」という意訳を添えている。