1.08.2011

Designing my mailer

自作メーラー 概要設計

Samurize のプラグイン mailcounts(Loki氏作) と同等の処理を C++ で作成する。

mailcounts 同様、サーバと通信してヘッダ情報を取り出すモジュールと

Samurize 表示用にテキストを抽出するスクリプトの 2層構成とする。

処理の流れは以下のとおり。

<ヘッダ情報取得>

- boost::asio を使ってPOP3サーバとのセッションを生成
 (telnet server 110 と同様の通信で『USER』『PASS』『STAT』を実行)
- STAT でメール総数が取得できるので、数字の大きい方から
 指定数を順に『TOP <index> 0』でヘッダを受信
- 『Date:』のデータ部をUTCに変換して格納
- 『Subject:』のデータ部をデコードして格納
 とりあえずはBase64、JISの組み合わせのみに対応
- 『From:』のデータ部をデコードして格納
 <>で囲まれた部分はアドレスとして認識
- 『QUIT』でセッション終了
- 取得したヘッダ情報をテキストファイルに書き出し

<抽出スクリプト>

- 上記の処理と処理が重ならないよう排他制御的なところ(考え中)
- 最新から n番目の情報を指定されたフォーマットで返す
 Samurize には n個のメータを作成
Base64のデコード処理、JIS⇒SJISの変換処理も一から作ったので意外と大変。

0 件のコメント:

コメントを投稿