[▲前のスレッド]

[30943] Folder.idx の仕様 
2006/1/29 (日) 01:58:05 westwind
pd3f008.kngwnt01.ap.so-net.ne.jp / Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
各フォルダにある Folder.idx は、フィールドを 0x01 で区切った形式のようですが、
各フィールドの意味などの仕様を知りたいのですが。
Becky と他メールソフトとの間のフォルダ構成の「引っ越し」に使います。

[30944] Re:Folder.idx の仕様 
2006/1/29 (日) 10:05:42 乗松知博
pd1px4.st.vc.shawcable.net / Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; Media Center PC 2.8)
こんにちは

そういえば、この情報は未公開でしたね。

過去にまとめたものがありましたので、この機会に公開します。

----------------------------------------
----------------------------------
Folder.idxのフォーマットですが、改行で区切られた一行が1メールの
インデックス情報を保持しています。
一行目には、Becky!のバージョン情報を保持しており、インデックスファイルを
作成したBecky!のバージョンが記されています。

各フィールドは、0x01のコードで区切られており、それぞれ以下のような意味
を持ちます。数値は全て16進で格納されています。

なお、bmfファイルを更新したり、idxファイルを削除したりすると、idxファ
イルはフォルダを開くタイミングで自動的に更新されますので、bmfを更新し
たら、idxファイルを削除してしまうのが最も簡単かつ安全な方法です。

dwBodyPtr        このメールアイテムのbmfファイル中の先頭からの位置
dwMsgID                このメールアイテムをフォルダ中でユニークに識別する為のDWORD値
dwFileName        bmfファイルのファイル名部分
strSubject        メールの件名
strFrom                メールの差出人
strTo                メールの宛先
strMsgId        メールのMessage-Idフィールド
strReferences        メールの参照先のMessage-Id(In-Reply-To, Referenceフィールドから取得)
tSend                メールの送信日時(C言語のtime_t値)(Dateフィールドより取得)
tRecv                メールの配信日時(C言語のtime_t値)(Received フィールドより取得)
tDnld                メールの受信日時(C言語のtime_t値)(受信時に決定)
dwSize                メールのサイズ(バイト数)
dwStatus        メールのステータスフラグ
                下位ビットより以下の意味を持ちます。
                0x00000001 既読
                0x00000002 転送済み
                0x00000004 返信済み
                0x00000008 添付あり(Content-Typeがmultipartヘッダである)
                0x00000020 スレッド表示で、下位のメッセージを閉じた状態(スレッドの最上位メッセージでのみ有効)
                0x00000040 スレッド表示で、下位にメッセージを持つ
                0x00000080 スレッド表示で、下位に未読メッセージを持つ
                0x00000100 分割メッセージ(message/partial)の一部
                0x00000200 Resentヘッダにより転送されたメッセージ
                0x00000400 MDN処理済み(開封通知の送信に同意してもしなくてもビットが立つ)
                これ以外のビットは未使用か予約済みのため、常に0
                0x00001000 フラグつき
                0x00002000 HTML形式
                0x00010000 宛先に自分のメールアドレスが含まれる(v2.24)
                0x00020000 Ccに自分のメールアドレスが含まれる(v2.24)
nColor                カラーラベルのCOLORREF値
nPriority        5段階の重要度
dwParentID        スレッド表示の際の親アイテムのdwMsgID
strCharSet        このメールのキャラクタセット(空でも可)
str                テンポラリ文字列(内容は不定、通常空)
strExtAtch        (v2.05より)添付ファイルを別ファイルに保存している場合、
                その添付ファイルのファイル名部分。複数ある場合は "/" で
                区切られる。

補足事項

※フィールドは増える可能性もありますので、パースの際、フィールド数を前提に
されないようお願いいたします。

※補足事項として、dwMsgIDは、フォルダの中でユニークであればよいので、あま
  り厳密な規則はありませんが、メールを移動した際は、移動先のフォルダ中の
  最後のメールのdwMsgID+1となります。フォルダが空ならdwMsgID=0になります。

※IMAP4では、dwMsgIDは、IMAPサーバーが各メールに付与するUIDをそのまま使用
  しています。IMAPのインデックスファイルはINIファイルとともにすべてデータ
  フォルダのメールボックスフォルダ直下に作成されます。少々込み入った命名
  規則によって作られていますが、基本的にはBecky!が自動生成しますので、こ
  れらのファイルは操作することはあまりお勧めしません。(Becky!終了後に削
  除してしまっても問題ありません)また、IMAPにはデータファイル(bmf)は存在
  せず、キャッシュという形で、1メール1ファイルで、Becky!のデータフォルダ
  のIMAPCacheというところに保存されています。

よろしくお願いいたします。


[30951] Re2:Folder.idx の仕様 
2006/1/30 (月) 05:45:28 westwind
p6f8ef1.kngwnt01.ap.so-net.ne.jp / Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
> 過去にまとめたものがありましたので、この機会に公開します。

おお、早速に大変有り難うございました。

一つ確認させて頂きたいのですが、

>dwFileName        bmfファイルのファイル名部分
>strSubject        メールの件名
>strFrom                メールの差出人
>strTo                メールの宛先


これらは、strCharSet が ISO-2022-JP の時はShift-JIS で、
それ以外の時は、そのままの(文字コード変換をしない)値で
格納されている、と考えて宜しいでしょうか。



[30995] Re3:Folder.idx の仕様 
2006/2/2 (木) 04:43:39 乗松知博
pd1px4.st.vc.shawcable.net / Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; Media Center PC 2.8)
こんにちは

▼ westwindさん
> >strSubject        メールの件名
> >strFrom                メールの差出人
> >strTo                メールの宛先
>
> これらは、strCharSet が ISO-2022-JP の時はShift-JIS で、
> それ以外の時は、そのままの(文字コード変換をしない)値で
> 格納されている、と考えて宜しいでしょうか。


はい、そういう解釈で結構です。

[31029] Re4:Folder.idx の仕様 
2006/2/2 (木) 20:15:40 westwind
p6f8e37.kngwnt01.ap.so-net.ne.jp / Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
お教え有り難うございました。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.84