Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (3,583)  
CrystalDiskInfo  (1,811)  
Tera Term  (1,787)  
HandBrake Japanese Language Version  (1,743)  
CrystalDiskMark  (980)  
FFFTP  (765)  
ffdshow  (719)  
mixfont-mplus-ipa  (615)  
MergeDoc  (571)  
10  TortoiseSVN  (555)  
11  Amateras  (437)  
12  BathyScaphe  (396)  
13  FreeMind  (372)  
14  Cabos  (327)  
15  ギコナビ  (316)  
More >>

Smail――簡単な設定で即座に使える軽量型メールサーバ

2008年10月06日 11:20 Kurt Edelbrock 1 2 3

 電子メールシステムで使われているメール転送エージェント(MTA:Mail Transport Agent)とは、EvolutionやMozilla Thunderbirdなどのクライアントアプリケーションから出されたメールを収集し、宛先として指定されたマシンに配送するためのルーティングを行うプログラムである。こうした処理は、差出人と受取人の間をつなぐ一種の“配管接続”をする作業だとでも考えればいいだろう。現在利用可能なMTAとしては、PostfixSendmailqmailなどの優れたメールサーバが存在しているが、これらを立ち上げるにはいずれも膨大な量の設定を必要とする。そのため、例えばWeb開発プロジェクトに付随するメール関連の試験や、限られたローカル環境のみをカバーしたメール配信をこなせるだけのMTAが欲しい、というユーザにとっては導入時の負担が大きすぎるとも言える。その点、複雑な設定をほとんど必要とせず、多機能型MTAよりも少ないメモリ消費量で運用可能なSmailこそは、こうしたシナリオに適しているMTAとしていいはずだ。

 Smailのコマンドライン操作はSendmailとほぼ共通しており、Sendmailに習熟したユーザであれば、付属ドキュメントを簡単にチェックするだけでSmailを使いこなせるだろう。ここで使われる設定ファイル群もSendmailより簡単な構成となっているが、それにもかかわらずSmailの場合、システムリソースを大量に消費することなく、多数のユーザをサポートできるよう作られているのだ。実はSmail自身は1994年という結構古くから流通しているアプリケーションであり、リリースされた時期はSendmailと大差ないのである。開発者の説明によると、Smailのセキュリティはかなりのレベルに到達しており、実際、1994年から現在に至るまでに残されている安全性上の不備は1件しかないとされている。その1件とは最近確認されたヒープベースのバッファオーバーフローに関する問題であるが、発現する環境は実行可能ヒープを使用するi386システムに限られているとのことだ。その他、シグナル処理に関する脆弱性も存在するが、これはプロジェクトのWebサイトにて既に対応パッチが公開されており、これを適用する際に必要となる作業はsrc/addr.cファイルに1行分のコードをペーストするだけでしかない。いずれにせよこの不具合については、次に予定されている3.3リリースにて、ソースレベルで修正されることになるだろう。

 セットアップと設定に要する負担が極めて低いSmailは、電子メール用のインフラストラクチャ構築を手短に済ませたく、複雑な機能も必要としないというケースにおける、最適なソリューションとしていいだろう。その具体的な使用環境としては、電子メールの通知機能を実装したアプリケーションをユーザが実行するシステムというものが考えられる。例えば私が携わっているRuby on Railsを用いたアプリケーション開発の場合、新規アカウントの登録ユーザに対するメールメッセージでの通知機能の試験を行う際にSmailを使用している。それと同時にSmailは、POPやIMAPをサポートする本格的なメールストアと組み合わせることで、実用レベルのメールサーバソリューションとなるだけの拡張性も備えているのだ。

最終更新:2008年12月06日 17:07
SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.