SMTP の使用を前提とするかぎり,メイルサーバまたはメイルプロキシを使用した機能拡張の範囲は比較的かぎられている. Reasonable な方法はメイルの宛先 (RCPT コマンドの指定内容) や送信元 (MAIL コマンドの指定内容) によって動作をきりかえることである. QuickML [Tak 03] [Mas 03] はそういう機能拡張によってメイリング・リストを実現している.
機能拡張の方法としては,宛先や送信元のアドレス以外に,DATA コマンドによって受信するメッセージ本体を使用する方法がかんがえられる. しかし,メイルのメッセージは本来は構文的に自由である. 特定の受信者を指定したときにはメッセージ本体を利用するのもよいだろう. しかし,常にメッセージ本体を解析してその結果によってサーバとしての機能を変更すると,送信者が予期していない動作をする可能性があり,適切でないとかんがえられる.
QuickML においては,メイリング・リストのアドレスがそれとわかるようにすることによって,この問題を解決している. 受信者としてメイリング・リストのアドレスがふくまれるときは,あたらしいメイリング・リストが生成または削除されたり,メンバーが追加または削除されたりする.
ここで注意すべきことは,指定された複数のアドレスはもはや対等ではないということである. すなわち,メイルは指定された複数のアドレスにただちに送信されるわけではなく,まずメイリング・リストのアドレスだけに送信されて,そこから全メンバーに送信されるのだと解釈することができる. とくにメイリング・リストやメンバーの削除においては,このように解釈しないとつじつまがあわない.
同様の方法はメイリング・リスト以外の機能を実現するのにも使用することができる. たとえば,メイリング・リストのアドレスのかわりにメイル・チェッカーのアドレスを指定すれば,メイルの宛先や内容をチェックしてから送信することができる. 不正なアドレスや不適切なキーワードなどがみつかれば,SMTP のエラー・メッセージをかえしたり,エラー・メイルをおくったりすることができる.
- [Mas 03] Masui, T. and Takabayashi, S., “Instant Group Communication with QuickML”, Group 2003 Conference, 2003.
- [Tak 03] 高林 哲, 増井 俊之, “QuickML: 手軽なグループコミュニケーションツール”, 情報処理学会論文誌, Vol. 44, No. 11, pp. 2603-2616, 2003.