界面駭客日記(16) - QuickML 増井俊之


電子メールを使ってグループで議論を行なうとき、 メーリングリスト がよく使われています。 メーリングリストとは、 ひとつのメールアドレスに送ったメッセージを 複数のアドレスに配送するシステムです。 沢山の人間でメールをやりとりする場合、 すべてのメンバを毎回宛先に指定するのは面倒ですが、 メーリングリストを使えば ひとつのアドレスに送ったメールが自動的に全員に届くので、 宛先を気にする必要がなくなります。 またメールシステムによっては 宛先の数によって通信料金が増える場合もあるので、 通信費の節約になる場合もあります。

メーリングリストは便利なものですが、 作成や運用には手間がかかるのが普通です。 通常、電子メールの配送は、 プロバイダや会社, 学校などの組織にある メッセージ転送エージェント(MTA) と呼ばれるシステムが面倒をみています。 普通のユーザがメールの読み書きに使う Outlook, Eudra, Beckyのようなおなじみのシステムは メッセージユーザエージェント(MUA)と呼ばれ、 メッセージの配送処理は行なっていません。 メールを複数のメンバに配送するという メーリングリストのような処理は MTAで実行する必要があり、 MUAでメーリングリスト機能を実現することはできません。

多くの企業や学校では、MTAとしてUnix上の sendmailqmailなどのシステムがよく使われており、 これらと連動してメーリングリストを実現するシステムとして Majordomofmlといった メーリングリスト管理システムが広く使われています (*1)。 MTAは重要なシステムなので 通常はシステム管理者が管理しており、 一版ユーザが設定を変更することはできません。 このため、 Majordomoやfmlを利用して メーリングリストを立ち上げるためには システム管理者に設定を依頼する必要がありますが、 これはメーリングリスト作成者にもシステム管理者に とっても負担になります。 混乱を避けるために メーリングリストの作成を許可しない組織や プロバイダも少なくありません。

MTA関連の設定を行なって メーリングリストを作るのは手間がかかるので、 誰でも簡単にメーリングリストを作れるような Web上のサービスが近年沢山出現しています。 たとえばFreeML(*2)では、 メーリングリスト名とメンバをWebで登録することにより 簡単にメーリングリストを作成することができます。 また、eGroups(*3)のように グループウェアのサービスの一環として メーリングリスト作成をサポートしているものもあります。 これらのシステムでは、 ブラウザ上でメーリングリスト名と 参加メンバを指定するだけで簡単にメーリングリストを 作って運営することができるようになっており、 メール配送の原理やMTAシステムに関する知識のない普通のユーザでも 簡単にメーリングリストを作って運営することができるので、 最近広く使われるようになってきました。

メーリングリストの面倒さ

メーリングリストをサポートする各種のツールやシステムを 使った場合でも、メーリングリストの管理は大変なものです。 自前のMTAを使ってメーリングリストを運用するには サーバを自分で用意する必要がありますし、 メール配送やメーリングリスト管理に関する かなりの技術知識が必要です。 FreeMLのようなサービスを使った場合でも、 メーリングリストの作成は面倒ですし、 設定の確認などには結構手間がかかります。
メーリングリストは管理者にとって大変だというだけでなく、 使うだけのユーザにとっても、 参加/脱退などの作業はそれほど簡単ではありません。 Majordomoやfmlでは メーリングリストのアドレスにコマンドを送ることにより 脱退やアーカイブ取得などの処理を行なうことが できるようになっていますが、 間違ったコマンドを送ってしまったために ゴミメールが参加者全員に流れるのは日常茶飯事です。 FreeMLのようなWebを使ったメーリングリストサービスの場合は 多少情況は良いようですが、 参加や退会などの処理をするためには 所定のURLにアクセスしなければならないのが面倒です。

このように、メーリングリストというものは、 覚悟を持って運営し、気合いを入れて参加するものだと 考えられてきました。 はっきりした目的があって長続きする大人数のグループであれば、 いろいろ細かい設定を行なってメーリングリストを作る意義がありますが、 打合せの連絡や遊びの相談のような一時的な用途の場合、 グループでメールをやりとりする場合であっても、 わざわざメーリングリストを作って運用されることは ほとんどありませんでした。 しかし、 本当に手軽にメーリングリストを作って運用することができるのであれば、 一時的な用途であってもメーリングリストを作る意味はあるはずです。

QuickML

MLの作成や運用の面倒さを根本的に解決するために QuickML(*4) というシステムを作って運用を開始しています。 QuickMLは、 MLの作成/運営の手間を最小限にして、 誰でもどこでもお手軽にMLを作って運用することが できるようにしたシステムです。 QuickMLは 上に述べたようないろいろな制約がまったくなく、 誰でも、どこでも簡単にMLを作って使うことができます。
ML作成
QuickMLでは、 以下のようなヘッダをもつメールを送るだけで 簡単にMLを作ることができます。
  To: (ML名)@quickml.com
  From: (自分のアドレス)
  Cc: (他のメンバーのアドレス)
  (本文)
ML名は何でもよく、 「enkai@quickml.com」 のように任意のものが使えます。 すでに同じ名前のMLが存在する場合は 作成に失敗したというメールが返送されますが、 その場合は 「enkai@masui.quickml.com」のように サブドメイン名を使って回避することができます。 ここでは、 From: と Cc: で指定されたアドレスが 「enkai@quickml.com」というMLのメンバになり、 このアドレスに記事を投稿できるようになります。 メンバー以外が、 このアドレスにメールを送るとエラーになります。 QuickMLで新しくMLを作る例を以下に示します。
  To: enkai@akiba.quickml.com
  From: masui@csl.sony.co.jp
  Cc: foo@csl.sony.co.jp,
      bar@csl.sony.co.jp

  今日の秋葉原の宴会は7時からです。
メンバーの追加
すでにMLに参加しているメンバーであれば誰でも、 新しくメンバーに加えたい人をCc:に含めることにより MLに追加できます。
  To: (ML名)@quickml.com
  From: (自分のアドレス)
  Cc: (新しいメンバーのアドレス)
  (本文)
新規参加
すでにMLに参加しているメンバーを知っている場合は、 そのメンバーをCc:に含めることにより MLに新たに参加できます。
  To: (ML名)@quickml.com
  From: (自分のアドレス)
  Cc: (MLのメンバーのアドレス)
  (本文)
MLからの脱退
MLに空のメッセージを送ると退会できます。 また、何かメッセージを送れば 再び参加することができるので、 一時的にメールを配送停止させるのにも便利です。
サブMLの作成
Reply-To: に新しいML名を指定することにより、 サブMLを作ることができます。 一部のメンバーにしか興味のなさそうな話題については サブMLを作って議論を続けることができます。
Subject: 今日の宴会
To: enkai@quickml.com
From: masui@csl.sony.co.jp
Reply-To: enkai@gotanda.quickml.com

今日の五反田の宴会に参加する人は
このメールに返事して下さい。
メンバーや記事の管理
QuickMLは手軽さを最も重視しているため、 メンバーを管理したり過去記事を取得したりするようなコマンドは まったく用意していません。 MLが作成されたとき、 及び新しくメンバーが追加されたときは 現在のメンバーのリストが記事に添付されるようになっています。
MLの寿命
メンバーがいなくなったMLは自動的に消滅します。 また、1ヶ月記事が無い場合はML作成者に連絡が送られ、 返事が無い場合はMLは消滅します。


このように、QuickMLでは 「(好きな名前)@quickml.com」に メールを送るだけで MLを作って運用することができますから、 これまでのシステムに比べるとはるかに簡単にMLを 運用することができます。 携帯電話からでも手軽に 上の例のようなMLを作ったり使ったりできるので、 ちょっとした打合せや宴会などの連絡に使うのに最適です。 放っておけば自動的に消滅しますから、 管理について気にする必要もありません。

私はQuickMLを利用するようになってからメールの使い方が 変わってきました。 以前は、ある話題について話をするときは 適当なサブジェクトを選ぶようにしていましたが、 最近は話題ごとに異なるMLを作って使うようになりました。 また、携帯電話からでも簡単にMLを作れるので、 宴会や待ち合わせなどの連絡をするのにも 毎回MLを使うようになりました。 QuickMLにより、 これまでちょっと敷居が高かったMLが コミュニケーションや協調作業の手段として もっと広く使われるようになってほしいと考えています。


  1. UnixMagazine 2002年1月号に詳しい解説が書かれています。
  2. FreeML: http://www.freeml.com/
  3. eGroups: http://www.egroups.co.jp/
  4. QuickML: http://QuickML.com/

Toshiyuki Masui