![]() |
![]() |
|
Loading
|
@IT > Sendmailの次世代メールプラットフォームとは?「Sendmail Mailstream Manager」Part1 |
![]() |
|
情報漏えい対策や個人情報保護の要求から、企業に求められるメールシステムの機能は日一日と多様化、複雑化している。数年前はせいぜいアンチウイルスフィルタぐらいであったが、現在ではスパムフィルタ、禁止用語文字列フィルタ、添付書類フィルタ、添付書類の暗号化、メールのコピーの保存など、さまざまな機能が必要とされている。
いまや、電子メールシステムはFAXや電話に置き換わる形で、企業の活動のなかでも大きな役割を果たしており、気が付いたら業務で一日中メールをやりとりしていたなどという人も多いのではないだろうか。それゆえ、企業の電子メールシステムは24時間動作し続けなくてはならず、2〜3時間停止しただけでも業務に大きな障害となる。メールシステムに新しい機能を追加するとなると、頭を抱える管理者も多いだろう。 そこで、なるべく停止時間を少なくするために、既存のメールサーバをそのまま動作させ、メールの配送経路に、さまざまな単機能のフィルタ(SMTPプロキシ)を挟み込んでいくことになる。
かくして、メールサーバは串団子のように連なり、エンドユーザーがメールを送信してから、5〜6台のメールサーバやフィルタを経由して、晴れて社外へ出て行くような複雑なシステムへと成長してゆく。このままだとますます、団子の数が増えていくばかりである。アンチウイルスやアンチスパム、ポリシーフィルタ、メールのコピーやアドレスの書き換えなど1台で行える高機能のメールサーバ、いや“電子メールプロセッサ”が必要とされている。
最近なにかと話題となっている、企業のM&Aなどもメールシステムを複雑化する要因の1つだ。社名の変更によるドメイン名の変更では新旧のメールアドレスを両方が扱えるようにしながら古いアドレスを新しいアドレスに書き換えるような操作が必要であり、事業所の統合に伴うメールサーバの統合ではメールの配送経路を変更しなくてはいけない。 20年以上の歴史をもつオープンソースのMTA(Message Transfer Agent)であるsendmailは、そうした場面で必要となる経験から生み出された機能がたくさん用意されている。ただ、sendmailの機能はあまりに豊富であるため、メールシステムの経験の少ないエンジニアではどのような場面でどの機能が必要になるのかさえ想像ができないような機能もいくつか存在しているし、一説にはアセンブラより難しいと噂されるsendmailのルールセットなど、使いこなすには敷居が高いのも事実である。 電子メールサーバにはメールの配送だけでなく、メールの内容の操作やあて先や送信者のメールアドレスの書き換えなどの機能が今後ますます必要であり、それを分かりやすく開発、運用できるようなソリューションが必要なのだ。
このようなメールのデータやエンベロープ(差出人情報)に対する処理をいままではどのように実現していたかというと、sendmailのカスタムルールセットを書き換えたり(それでもヘッダやエンベロープまでしか操作できない)、カスタムMilterを自作(神と呼ばれるかも)したりするほかなかった。あとはaliasesから外部スクリプトを起動して処理する方法やメーラにprocmail(これも万能メールフィルタといえる優れたオープンソースソフトウェアだ。ちなみにprocmailの作者もセンドメール社の社員である)を使い、そこからやはり外部プログラムを起動するという方法などが考えられるが、簡単な書き換えでさえカスタムプログラムが必要で泥臭さは否めない。
そこで、オープンソースのsendmailの開発者であるEric Alman率いるセンドメール社が、複雑化するメール処理の要求に応えるべく開発したアーミーナイフのような万能“電子メールプロセッサ”が、Mailstream Managerである。 sendmail MTAのMilter APIを介してプラグインとして動作するメールフィルタなので、団子の数(メールサーバの段数)が増えない。 アンチウイルススキャンエンジンやスパムフィルタエンジンなども内蔵しているため、1段のメールサーバだけで、さまざま条件を設定し、条件にマッチしたメールに対して豊富なアクションを実施できる。設定できる条件は多岐にわたり(リスト1)、送信者や受信者のメールアドレスや本文や添付書類中に現れる文字列など基本的なものから、現在急速に普及してきている送信ドメイン認証の認証結果までもその条件の1つとできる。
なにしろ、正規表現による文字列マッチなど朝飯前で、アンチウイルススキャンや、SPAMフィルタの結果、また、SQLデータベースやLDAPサーバを参照(参照だけではなく追加やアップデートも!)でき、さらに、sendmail MTAのすべてのマクロの値(接続元のIPアドレスや、メールを受信したポート番号、ホスト名、SMTP AUTHの認証IDなど、分かる人にはうれしい機能!?)を条件にできてしまう万能のフィルタである。 条件だけなく、実行できるアクションも盛りだくさんである(リスト2)。今のメール処理に必要なことは一通りそろっている。
こうした条件やアクションをOutlook ExpressやThunderbirdのメールフィルタを作成するように、GUIから簡単に組み立てていけるのがSendmail Mailstream Managerがもたらすメリットの1つである。
Mailstream ManagerはJavaベースで開発されている。他のソリューションのようにあらかじめ決まったルールのみが提供されていて、それに企業のルールを当てはめるのではなく、企業のルールにあわせて、自由にルールを作り込んでいける。GUIでどうしても実現できない場合は、XMLベースのXXLという言語によりさらに踏み込んだカスタマイズが可能になる。メールを処理するための機能がたくさん備わっているため処理を簡単に実現できる点もポイントが高い。 例えば、電子メールのMIME構造の解析など意識しなくても、添付書類を取り出して、操作ができる。エンベロープの分割や変更なども簡単に行える。また、メールのルールは運用を開始してから利用者からさまざまなクレームを受けることが多い。大体、細かなルールの例外処理を必要とするもので(例えば、ある人は3つの部署に属していて、その人が送信するメールについては、メールのあて先によって3つの部署のそれぞれのルールにどれを適用するか変更してほしいなど)。このような例外処理も運用中にGUIで設定し、メールサーバを再起動することなく盛り込んでいける。 さらに、電子メールに関連する機能以外のものも、その気になればJavaの外部モジュールとして取り入れることが可能である。音声認識や自動翻訳の機能を取り込んで、添付書類の音声ファイルに入っている外国語の会話を音声認識して、さらに、日本語に翻訳したテキストを、MIMEのテキストパートとして添付して送信、なんてことも(多分)簡単に実装できるだろう。
こうしたさまざまな機能を提供しながらも、メールの配送そのものはsendmail MTAを利用して行うため、いままで通りのセキュアで信頼性の高いメールシステムの運用が可能だ。sendmail MTAの信頼性とMailstream Managerの豊富な機能の組み合わせは、現在のメールシステムの実装としてはベストと呼べるものではないだろうか。
提供:センドメール株式会社
企画:アイティメディア 営業局 制作:@IT 編集部 掲載内容有効期限:2006年9月4日 |
|