nPOP 1.2.8 ツリー・本文プレビュー対応版（非公式修正版）

今回追加した機能
・左側のアカウントツリーで、受信アカウント／保存箱／送信箱を切り替え。
・一覧で選んだメールの本文を、同じ画面内にテキストで表示。
・「表示」メニューでツリーと本文プレビューを個別に表示／非表示。
・本文プレビューを下側／右側に切り替え。
・境界線をドラッグして幅・高さを調整。終了時に設定を保存。
・プレビューを見るだけでは開封済みにしません。
・プレビュー内で Ctrl+A（すべて選択）、Ctrl+C（コピー）。Tab／F6で表示領域間を移動。

これまでの改良も含みます
・HTMLメールをタグを除いたテキストに変換。
・「HTML表示」で既定のブラウザに表示。
・部分受信の場合は、対象の1通だけを完全受信してからHTMLを表示。
・ほかの受信／削除マークは実行しません。

使い方
1. nPOPを終了する。
2. 現在のnPOPフォルダ全体をコピーする（設定とメールデータを含む）。
3. コピー側のnPOP.exeを、このZIPのnPOP.exeに置き換える。
4. nPOP.exeを起動し、ウィンドウを広げて試してください。
設定ファイルを同梱していないため、既存の設定とメールデータを引き継ぎます。
ツリー／プレビューは初期状態で有効です。「表示」メニューから変更できます。

今回の範囲
nPOPQを参考にしたアカウントツリーと本文プレビューの追加です。
保存箱／送信箱のアカウント別絞り込み、簡易アドレス帳の追加表示、
添付一括保存などは今回の版には含めていません。

HTML表示について
HTMLはブラウザで表示するため、外部画像が読み込まれる場合があります。
CIDによる埋め込み画像の展開は未対応です。
HTML表示用ファイルは添付保存先の _attach_mail_view.html に書き出します。
HTMLのテキスト変換は簡易処理で、すべてのCSSや文字参照には対応していません。

確認したこと
・日本語版 Release Unicode / Win32 のビルド成功。
・テストデータでアカウント切り替え、テキスト／HTMLプレビュー、上下／左右配置、
  境界線の調整、再起動後の設定保持、HTML表示ボタンからの書き出しとブラウザ起動を確認。
・自動テストで選択解除・削除後の表示消去、同じ本文領域の書き換え、
  未開封状態の維持、小さなウィンドウの配置を確認。
・HTML変換11項目と不完全な入力2,000件のテスト成功。
・Base64／Quoted-Printable／日本語／マルチパートのHTML処理テスト成功。
・対象1通だけのPOP受信、マーク維持、受信エラー／識別情報不一致のテスト成功。
・実メールサーバーへの接続を含む一連の動作確認は未実施。

ビルド（ソース版）
Visual Studio C++ Build Tools と Windows SDK を使用します。
Win32_JP/nPOP.vcxproj の「Release Unicode / Win32」をビルドしてください。
既定のツールセットはv143です。配布実行ファイルはv145で作成しています。
この環境のPDB関連ツールの不整合を避けるため、配布ビルドはデバッグ情報と
全体最適化を無効にしました。

テスト（ソース版）
同じツールセットのC++開発者コマンドプロンプトで、アプリを上記構成でビルドした後、
プロジェクトフォルダから以下を実行します。
  tests\run-tests.cmd
独自のビルド出力先を使う場合は tests\run-tests.cmd の引数で指定してください。
テストは合成データだけを使い、実サーバーへの通信は行いません。

元のnPOPのライセンスと著作権表示は LICENSE を参照してください。


