ももらぼっ!にっき


2006年07月29日 [長年日記]

_ [W-ZERO3] メールのバックアップ。

…を行うソフトをちょこちょこと作っていたんですけど。

ごめんなさい。挫折してもいいですか?orz

現状のソースはeximailという名前でこのあたりに置いています。 なんとなーく動いているんですが、現在以下の問題が発生しています。

送信済みアイテムがexportできない。

受信済みアイテムフォルダとか、振り分けフォルダとかのメールはexportできているんですが、送信済みアイテムフォルダがexportできません。 試してないけど、下書きフォルダもダメかも。

exportはPR_CE_MIME_TEXTプロパティから取ってきているだけなのですが、受信メールと送信メールでは扱いが違うのかもしれません。

\Windows\Messagingフォルダ以下にPR_CE_MIME_TEXTで取ってきたデータと同様のデータが入っているわけですが、受信メールと送信メールではデータ形式が違っています。この辺と関係あるんでしょうかねぇ?

あ、そうそう。

上記\Windows\Messagingフォルダの内容について、皆さんの環境ではどうなっているか教えてください。

私の環境では、受信メールのファイル名は「xxxxxxxx1000001f.mpb」、送信メールのファイル名は「xxxxxxxx81030102.mpb」となっています。 で、受信メールはヘッダも含まれた情報が、送信メールは本文の内容だけが入っています。

このファイル名の命名ルールと内容について、みなさんの環境でも同じでしょうか?

importすると、pmailのメール一覧に情報が表示されない。

importすると、メール一覧には[送信者なし]、[件名なし*1]、今日の日付がそれぞれ入ってしまいます。 メールの内容を見るとちゃんと件名も送信者も日付も入っているんですけど。 どうも、一覧とメール本文ではデータの参照の仕方が違うようですね。

importするときもPR_CE_MIME_TEXTに値をセットしているだけなのですが、これだとPR_CE_MIME_TEXTだけにしかデータが入らないようで、それ以外のPR_SUBJECTとかPR_MESSAGE_DELIVERY_TIMEとかには連動して値が入ってくれないようです。 個別でSetPropsするとちゃんと値が入ったので、頑張ってメールヘッダを解析して値をセットすれば解決しそうです。

…ということで。

2番目の問題はなんとなく解決できそうなんですけど、1番目の問題の解決策が見つかっていません。

誰か助けて!

*1  「懸命な死」とか変換しやがったorz

本日のツッコミ(全4件) [ツッコミを入れる]
_ 星羽 (2006年08月01日 01:18)

いろいろと問題があるんですねぇ‥eVCのSDKで頭が止まってる私には、ソースを拝見させていただいても何がなにやらorz<br>確認してみたのですが、私の環境もももたろさんと同じファイル名の命名ルール、内容でした。<br>ビルド環境が無いので試せませんが、この方法でimportするとcemail.volもシステムが書き換えてくれるのでしょうか?

_ ももたろ (2006年08月01日 15:10)

星羽さん><br>そーなんですよ…。<br>これらの問題が解決せず、ずーっと苦戦しとります。<br>ファイル名の命名ルールが同じとのことで、情報ありがとうございますm(_ _)m<br>…まぁ、だからといって何がわかるって話でもないんですけどね(T-T)<br>で、こいつの仕組みなんですが、MAPIを使ってメールデータを一つずつファイルに落としています。<br>なので、きっとcemail.volの中身を書き換えているんだと思うのですがAPIベースなので私には良くわかっていませんorz

_ 星羽 (2006年08月01日 17:33)

「送信済みアイテムフォルダがexport出来てない」というのは、exportしたものをimportしてみて分かったのでしょうか?<br><br>動作検証してみたところ、送信フォルダにメールがある時と、送信後に送信済みフォルダにメールが移った時とで、Messagingフォルダに変化はなかったのですが、cemail.volファイルは更新されていました。<br><br>cemail.vol未使用時にこのファイルとMessagingフォルダをバックアップしたものを同じ方法でリストアした場合は、送信済みフォルダや下書きフォルダも反映されたので、これらのフォルダ内のメールはcemail.volの中でフラグのようなもので管理されているのではないかと思います。<br><br>なので、MAPIに「送信済みフォルダフラグ」や「下書きフォルダダフラグ」のようなプロパティがあれば、上手く反映させられそうですね^^;

_ mo39024 (2006年08月29日 10:54)

何のお役に立てませんが…私の環境も同じファイル名のルールでした。