[
▲前のスレッド
]
[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