.NET で MSG ファイルから ZIP を作成

Aspose.ZIP for .NET を使用すると、7-Zip や WinRAR などのデスクトップツールを起動せずに、C# アプリケーションから MSG ファイルの ZIP を作成できます。Archive を生成し、CreateEntry で各ファイルを追加して、Save を呼び出します。

メール関連の処理では、メッセージ、予定表、連絡先、添付ファイル、エクスポート結果を扱います。ZIP は明確な名前と安定した構造でまとめられます。

C# の例: MSG ファイルを ZIP に圧縮

この簡潔な例では、MSG ファイルを新しいアーカイブに追加し、archived_result.zip として保存します。dir には元ファイルがあるディレクトリを指定してください。

MSG ファイルを圧縮 - C#

var dir = "full directory path";
using (var arch = new Archive())
{
   arch.CreateEntry("filename.msg", dir+"file.msg");
   arch.Save(dir+"archived_result.zip");
}

Aspose.ZIP for .NET をインストール

Aspose.ZIP NuGet パッケージをインストールし、.NET プロジェクトから参照します。アーカイブはアプリケーションプロセス内で作成され、別の ZIP ソフトウェアは不要です。

パッケージ マネージャー コンソール

PM> Install-Package Aspose.Zip

単一の MSG ファイルをアーカイブ

元ファイルを新しい Archive に追加して保存します。ZIP 内で別の命名規則を使用する場合は、分かりやすいエントリ名を指定してください。

複数の MSG ファイルをまとめる

保存前に各ファイルについて CreateEntry を呼び出します。異なるディレクトリのファイルも、ZIP 内の mail/ 配下へ統一して配置できます。

関連ファイルを含める

書き出した添付ファイル、インデックス、マニフェスト、チェックサム、保管ノートをパッケージに追加し、受け取り側が必要とする相対パスを維持します。

ZIP を保存またはストリーム送信

ディスクへ保存するほか、ASP.NET の応答として返したり、書き込み可能なストリームでオブジェクトストレージへ直接送信したりできます。

C# で MSG ファイルから ZIP を作成する手順

  1. Aspose.ZIP for .NET をインストールして参照を追加します。
  2. ZIP に含める MSG ファイルと関連ファイルを確認します。
  3. 新しい ZIP 用の Archive を作成します。
  4. 各ファイルに CreateEntry を呼び出し、ZIP 内のパスを指定します。
  5. 必要に応じて圧縮または暗号化を設定します。
  6. 出力パスまたは書き込み可能なストリームを指定して Save を呼び出します。

すべてのエントリを追加してから保存します。フォルダー全体には CreateEntries、選択したファイルには個別の CreateEntry を使用できます。

ZIP の作成では MSG 形式は変換されません

ZIP の作成はアーカイブ処理であり、形式変換ではありません。Aspose.ZIP はヘッダー、本文、添付ファイル、予定表、連絡先を解釈または書き換えません。元ファイルを独立したエントリとして保存します。

内部コンテンツの解析、編集、レンダリング、変換が必要な場合は、その形式に対応したライブラリを使用してください。Aspose.ZIP は既存ファイルの整理、転送、保管、圧縮、保護に使用します。

MSG の付随ファイルを含める

完全な納品物には書き出した添付ファイル、インデックス、マニフェスト、チェックサム、保管ノートが必要になる場合があります。Aspose.ZIP が追加するのはアプリケーションから指定されたファイルだけで、形式固有の依存関係は自動検出しません。

アーカイブ作成前に必要なファイルを収集し、安定した相対エントリパスを付けてください。マニフェストや README に、バージョン、配置、チェックサム、復元手順を記録できます。

MSG ZIP 内のパスと名前を管理

元ファイルのパスは .NET が読み取る場所を示し、エントリ名は ZIP 内の配置を決めます。ローカルファイルを `mail/filename.msg` として公開すれば、コンピューター上の絶対パスは含まれません。

ポータブルなパスにはスラッシュを使用します。外部入力から名前を作る場合は、絶対パス、../、空の名前、意図しない重複を拒否してください。

MSG ファイルの圧縮効果

メッセージ本文などのテキストは圧縮しやすい一方、圧縮済み添付ファイルの効果は小さくなります。最終サイズはパッケージの構成に依存します。

Deflate は幅広い互換性を得やすい実用的な選択です。追加のサイズ削減より作成速度を重視する場合は Store モードを使用できます。

MSG ファイルを含む ZIP をパスワードで保護

Aspose.ZIP は従来の ZipCrypto または AES でエントリを保護できます。受け取り側のソフトウェアが対応する場合は AES を優先し、古いツールとの互換性が必須の場合だけ ZipCrypto を使用してください。

パスワードは安全な設定から取得し、コードやログへ書き込まず、アーカイブとは別の経路で共有してください。

MSG ファイルを本番環境で扱う際の指針

- 保存前に元ファイルと付随ファイルの存在を確認します。 - 信頼できない要求にはファイル数、サイズ、参照可能な場所の制限を適用します。 - エントリ名を正規化し、絶対パスやディレクトリトラバーサルを防止します。 - 一時保存先へ書き込み、`Save` の完了後に公開します。 - ASP.NET の応答やオブジェクトストレージへの直接アップロードにはストリームを使用します。 - アーカイブとストリームを確実に破棄し、機密情報をログへ記録しません。

MSG ファイルからオンラインで ZIP を作成

コードを書かずにパッケージを作成する場合は、ブラウザーで無料の オンライン ZIP 作成ツール を利用できます。

  デスクトップのアーカイブツールをインストールする必要はありません。
  C# コードや API の設定は不要です。
  MSG ファイルと関連ファイルをアップロードします。
  生成された ZIP をダウンロードします。

Aspose.ZIP for .NET のリソース

よくある質問

1. C# で MSG ファイルから ZIP を作成するにはどうすればよいですか?

Archive を作成し、エントリ名と MSG ファイルのパスを指定して CreateEntry を呼び出し、Save で ZIP またはストリームへ保存します。

2. 複数の MSG ファイルを同じ ZIP に追加できますか?

はい。各ファイルに CreateEntry を呼び出し、固有のエントリ名を付けてから保存します。

3. 関連ファイルは自動的に追加されますか?

いいえ。Aspose.ZIP は指定されたファイルだけを追加します。必要なリソースは明示的に追加してください。

4. ZIP の作成で MSG ファイルは変換または変更されますか?

いいえ。元ファイルはアーカイブのエントリとしてそのまま保持されます。

5. 暗号化した ZIP に MSG ファイルを保存できますか?

はい。ZipCrypto と AES を使用できます。受け取り側の展開ソフトウェアに対応する方式を選択してください。