電子メールの着信を OpenBlockS の LED でお知らせ

OpenBlockS Users ML の松本氏の情報 [obu:00209] を参考に、POP3 サーバに接続して電子メールの着信を OpenBlockS の LED で知らせるプログラム pop3led を作ってみました。

OpenBlockS はメモリなどのリソースが少ないので、節約のため私が欲しかった機能しか付けていませんが、よかったら使ってみてください。

≪ファイル≫

ダウンロードした pop3led.tar.gz に含まれる各実行ファイルの違いは以下の通りです。
ファイルAPOP 認証SYSLOG 出力
pop3led××
pop3led.APOP×
pop3led.SYSLOG
※ ○:対応 ×:非対応
※ APOP は、RFC 1321 に含まれる RSA Data Security, Inc. の md5c.c, global.h, md5.h を使って対応しています。 RFC は ftp://ftp.iij.ad.jp/pub/rfc/ などから入手できます。

≪作成環境≫

OpenBlockSセルフ開発環境(試用版) hdroot アーカイブファイル
es1h_plat_1.03h_20010116-1.tar.gz [Ver.1.03h] 2001/1/17【修正版】

≪コンパイル≫

もし自分でコンパイルしたい方がいらっしゃいましたら、pop3led.c をご参照ください。マクロで APOP を定義すれば APOP 認証に、SYSLOG を定義すれば SYSLOG 出力に対応します。C プログラミングからは少し遠ざかっていたので、問題がありましたらご連絡ください。

≪使い方≫

  1. 実行時に標準入力から POP3 サーバのアドレス・ユーザ名・パスワードを入力します。これらの文字列は、滝澤氏の qmapop の APOP 認証データベースなどから抜き出し、必要に応じて加工して入力するとよいでしょう。
    # echo pop3.server.ad.jp kei password | pop3led
    
  2. 複数の電子メールアドレスがあれば、繰り返し POP3 サーバのアドレス・ユーザ名・パスワードを入力します。6 つまでの電子メールアドレスが使え、順番に『LED 表示におけるユーザを識別するアルファベット』A, b, C, d, E, F に対応します。以下の例ではユーザ kei が A、tanaka が b に対応します。
    # echo pop1.server.ad.jp kei password1 pop2.server.ad.jp tanaka password2 | pop3led
    
  3. APOP を使えるなら、ユーザ名の頭に + (プラス) を付けます。
    # echo pop3.server.ad.jp +kei password | pop3led
    
  4. コマンドラインオプションとして数字を指定することで、POP3 サーバに接続して電子メールが届いているかどうかを確認する間隔を変更できます。デフォルトでは約 900 秒 (15分) 間隔です。以下の例では約 1800 秒 (30分) 間隔になります。
    # echo pop3.server.ad.jp kei password | pop3led 1800
    
  5. SYSLOG は、facility が user、priority が info になっています。

≪LED 表示≫

  1. POP3 サーバに接続している間は 0 を表示します。
  2. 電子メールが届いていたら、ユーザを識別するアルファベット A, b, C, d, E, F の後に、届いていた電子メールの数を表示します。ただし、10 通以上は 9 を表示します。これを、次に POP3 サーバに接続するまで繰り返します。
  3. 電子メールが届いていなかったらければ . (ドット) だけが点滅します。
    ※ . (ドット) にした理由は、数字やアルファベットだと近視の私には電子メールが届いているかどうか遠くから見て分からなかったからです。(;_;)
    ※ 点滅させた理由は、OpenBlockS が生きている証が欲しかったからです。(^_^)
May 22, 2001 TANAKA Kei