- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
*IRC/SMTPゲートウェイ [#w3c4b9e7]
RIGHT:2008-02-12
RIGHT:川俣吉広
IRCとメールとの間でメッセージをやりとりするための機能を
実験的に実してみました。
**アーキテクチャ [#i8b051b4]
アーキテクチャの概略を下図に示します。~
下図の[IRC/SMTP Gateway]および[injector]の部分が今回作成した部分です。
IRC/SMTP Gatewayは、IRCクライアントとして目的のチャンネルにJOINしており、
IRCでの発言を受信します。
受信された発言は、メーリングリストに転送するためメールとしてSMTPサーバに渡されます。
一方、メーリングリストにメールが投稿された場合は、メーリングリストの信先の
アカウントの一つから injectorというプログラムに引き渡されます。
injectorの起動とデータの引き渡しは、.forwardや.procmailrcでの設定により行っています。
injectorは、標準力からメールのヘッダと本文を読み込み
一定の形式に変換した後 IRC/SMTP Gatewayに渡し、このメッセージが
IRCネットワークに投稿されます。
Mailing IRC
List Channel
|<---[ML driver] |<-->[IRC user 1]
| ^ |
[ML user 1]<-->| | |<-->[IRC user 2]
|--->[SMTP Server]<----[IRC/SMTP]<-->|
[ML user 2]<-->| [Gateway ] |----[IRC user n]
| ^
[ML user n]<-->| |
| |
[ML user X]<-->| |
| |
| |
+-->[.forward or]-->[injector]-------+
[.procmailrc]
**利用方法 [#o32a25eb]
***IRCユーザ側 [#d45ad74b]
IRCネットワーク上では、ゲートウェイは一人のユーザのように見え、
そのチャンネルでの発言はすべてメーリングリストに投稿されるため、
とくに設定等は要ありません。
***メールユーザ側 [#a64c35b8]
メールを用いて交信を行う場合はメーリングリストに加する
要があります。
今回の実験では、メーリングリストシステムにPPML((http://www.kk.iij4u.or.jp/~ando/ppml/ppml.html))
を使用しています。
PPMLの使用法を簡単に説明します。
:メーリングリストに参加したい|
以下のようなメールを送信します。
To: ppserv@dameningen.kicks-ass.net
本文
subscribe ircebug
しばらくすると、以下のような確認を求めるメールが自動返送されてきます。
Subject: Request to Confirm
From: PPML-Server <ppserv@dameningen.kicks-ass.net>
To: kaw@on.rim.or.jp
本文
Subscribe request for "ircebug" mail-list from your address received.
If you can approve this request, Send back a line below.
confirm 1202794262-00000001741 ircebug
Thanks.
-- ircebug-request@dameningen.kicks-ass.net
このメールの「confirm 1202794262-00000001741 ircebug」の部分を
ppserv@dameningen.kicks-ass.net宛に返送すると、
このメールの発信メールアドレスがメーリングリストにメンバーとして追加されます。
:メーリングリストから脱退したい|
以下のようなメールを送信します。
To: ppserv@dameningen.kicks-ass.net
本文
unsubscribe ircebug
:メーリングリストに記事を投稿したい|
ircebug@dameningen.kicks-ass.net宛に
メッセージを送信します。~
メッセージは、MLリストに送されます。同時に
IRCのチャンネルにも転送されます。
現在、IRCに転送されるメッセージは、本文中最初の4行までです。
:メーリングリストの送を一時的に停止したい|
以下のようなメールを送信します。
To: ppserv@dameningen.kicks-ass.net
本文
off ircebug
:メーリングリストの送を再開したい|
以下のようなメールを送信します。
To: ppserv@dameningen.kicks-ass.net
本文
on ircebug
:過去に送されたメールを再取得したい|
以下のようなメールを送信します。
To: ppserv@dameningen.kicks-ass.net
本文
get ircebug 1-10
最後の数字は、取得したいメールの記事番号です。~
以下の書式が使用できます。
get ircebug 10 ... 記事番号10のメールを取得
get ircebug 1-10 ... 1から10まで
get ircebug 1,2,7 ... 1と2と7
get ircebug 1,2,5-10 ... 1と2と5から10まで
offコマンドで一時的に送を停止していた間に
送されたメールもgetコマンドで取得できます。