ウェブサーバー上のMSGおよびEMLファイルを変換します
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Mail Converter Pro X は、MSG および EML 形式のメールを PDF、PDF/A、DOC、RTF、TXT、HTML、TIFF、JPEG に変換するサーバーサイド SDK です — 添付ファイルも同じ出力形式にレンダリングされ、1 つの出力ファイルに統合されます。サーバーに Microsoft Outlook は不要です。ヘッドレスで動作し、GUI、ダイアログ、ポップアップは一切表示されません。Total Mail Converter Pro X には コマンドライン バイナリと ActiveX/COM インターフェースの両方が同梱されており、ASP、PHP、.NET、Python、Ruby、Java など COM に対応したあらゆるバックエンドに組み込めます。
Pro バージョンが通常版 X と異なる点は -docs スイッチです。-docs を有効にすると、サポートされているすべての添付ファイル — Word 文書、スプレッドシート、画像、PDF — が同じ出力形式(例:PDF)に変換され、メール本文の PDF に統合されるか、隣接する別ドキュメントとして保存されます。受信者は 1 つのファイルを開くだけで、メール本文と読み順に並んだすべての添付ファイルを確認できます。サポートされる添付ファイルの入力形式:
-uattach で展開可能
添付ファイル変換以外にも、Total Mail Converter Pro X は e-discovery と記録保持の全シナリオをカバーします:PDF/A 出力(-pdfa)、X.509 証明書によるデジタル署名(-PFXFile/-PFXPass)、RFC-822 トランスポートヘッダー保持(-rfcheaders)、添付ファイルのメタデータインデックス化(-iattach)、統合ドキュメント全体への Bates スタイルのヘッダー/フッタースタンプ、権限フラグ別のパスワード保護 PDF、元のメールボックス構造を反映したフォルダ単位の再帰処理(-Recurse -kfs)など。
高速変換とバッチ処理により、シンプルで退屈しないプロセスが実現できます — 一晩で数万件の添付付きメッセージを処理することも普通です。30 日間制限なしの無料トライアルで、その価値をご確認ください。
現在サポートされている主なファイル形式変換:
|
|
|
(30日間の無料試用を含む)
(のみ $1900.00)
string src = @"C:\test\Source.eml";
string dest = @"C:\test\Dest.pdf";
var cnv = new MailConverterX();
cnv.Convert(src, dest, "-cPDF -attach -docs -log c:\\test\\Mail.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\MailConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.msg";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(srcPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & source files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"{srcPath} {outPath} -cPDF -attach -docs";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
int sleepCounter = 10;
while(!File.Exists(outPath) && sleepCounter > 0)
{
System.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("sleep...");
sleepCounter--;
}
if (File.Exists(outPath))
sbLogs.AppendLine("Conversion complete successfully.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("MailConverterPro.MailConverterX")
C.Convert "c:\test\source.eml", "c:\test\dest.pdf", "-cPDF -attach -docs -log c:\Mail.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("MailConverterPro.MailConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.pdf"
Response.BinaryWrite C.ConvertToStream("C:\www\ASP\Source.eml", "C:\www\ASP", "-cpdf -attach -docs -log c:\html.log")
set C = nothing
$src="C:\\test\\test.msg";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("MailConverterPro.MailConverterX");
$c->convert($src,$dest, "-cPDF -attach -docs -log c:\\Mail.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('MailConverterPro.MailConverterX')
src = "C:\\test\\test.eml"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -attach -docs -log c:\\test\\Mail.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("MailConverterPro.MailConverterX")
src = "C:\\test\\test.eml"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -attach -docs -log c:\\test\\Mail.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('MailConverterPro.MailConverterX');
c.Convert('c:\test\source.eml', 'c:\test\dest.pdf', '-cPDF -attach -docs -log c:\test\Mail.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("MailConverterPro.MailConverterX");
c.Convert("C:\\test\\source.msg", "C:\\test\\dest.pdf", "-cPDF -attach -docs");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.eml"; my $dest = "C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'MailConverterPro.MailConverterX'; $c->convert($src, $dest, "-cPDF -attach -docs -log c:\\test\\Mail.log"); print $c->ErrorMessage if -e $dest;
「Total Mail Converter Pro には大変満足しています。約 2 万件のメールを PDF に変換するために使用しました。重要だったのは、メール添付ファイルをターゲット PDF に変換できる機能です。2 万件のメッセージを変換した中で、読み取り不能な添付ファイルが原因で失敗したのはわずか十数件でした。改善提案としては、添付ファイルが失敗したときにメールファイル全体をスキップするのではなく、他の添付ファイルを変換し、不具合のある 1 つの添付ファイルを除いて PDF を完成させてほしいです。今後も頑張ってください。」
Manuel Schlief
www.darag.de
「弊社は外部弁護士向けに e-discovery を行っています。お客様は PST エクスポートを送ってきます。私たちのパイプラインは各 PST を案件ごとに 1 つの PDF に変換し、すべてのメールと変換済み添付ファイルを読み順に並べ、RFC ヘッダーを保持します。Total Mail Converter Pro X を -docs -iattach -rfcheaders オプションで使用しているのがそのエンジンです。弊社のハードウェアでは DOCX/XLSX 添付ファイルのレンダリングを含めて 1 時間あたり約 8,000 件のメッセージを処理します。本番運用 5 年、コンバーターのせいにできる障害は一度もありません。」
Henrik J.
Senior Backend Developer at a legal-tech vendor
「患者コミュニケーションのアーカイブは、X.509 デジタル署名付きの PDF/A として弊社のドキュメント管理システムに格納する必要があります — HIPAA のチェーン・オブ・カストディ要件です。-pdfa と -PFXFile/-PFXPass、-SignLoc/-SignCon/-SignRes で、署名シナリオ全体を 1 つのバイナリ呼び出しでカバーできます。同じ出力を生成するのに 3 つの別々のライブラリを必要としていた Java/iText パイプラインから置き換えました。Windows Server Core 上でヘッドレス、Outlook 不要、想定外の問題なしです。」
Renata B.
DevOps Engineer at a healthcare records platform
「Total Mail Converter Pro X を Royalty-Free ライセンスで弊社のコンプライアンスアーカイブ製品に組み込みました。プロジェクトごとの 1 回限りの料金は、Aspose.Email + Aspose.Words + Aspose.PDF をスタックとして使った場合の費用のごく一部でした。弊社のインストーラーが ActiveX を配布・登録し、アプリが直接呼び出すので、エンドユーザーには弊社の UI しか見えません。32 ビット ActiveX の制限のためにパイプラインの再設計に数日かかりましたが、回避策について問い合わせたときのサポートは迅速でした。」
Daichi M.
Independent Software Vendor
「お客様は企業の Exchange テナントから毎晩 EML エクスポートを送ってきます。弊社のワーカーパイプラインは各スレッドを案件フォルダごとに 1 つの Bates スタンプ付き PDF に統合します。-Recurse -kfs は出力側でメールボックスのフォルダ階層を保持し、-HeadText/-FootText はメッセージページと添付ページの両方に案件ラベルとページ番号を適用します。実行ごとに決定論的な結果になるので、法的レビューにとって重要です。CLI は安定しており、ドキュメントもしっかりしています。」
Aleksandra W.
Lead .NET Developer at a corporate-archive provider
Total Mail Converter Pro X には MailConverterX.exe が同梱されており、スクリプト、スケジュールタスク、メールアーカイブワーカー、あるいは任意のバックエンドサービスから呼び出せるコンソールバイナリです。Pro 版の特徴は -docs スイッチです:添付ファイルを単にメールの隣に保存するのではなく、Pro は Word 文書、スプレッドシート、画像、その他の添付ファイルをターゲット形式に変換し、メッセージ本文と同じ出力ファイルにマージします。フラグの体系は GUI 版の MailConverter.exe と一致しています。すべてのオプションはコマンドライン ドキュメントを参照してください。以下のレシピは、Pro 版だけがサポートする添付ファイル処理シナリオに焦点を当てています。
看板 Pro ワークフロー。-docs はサポートされているすべての添付ファイルを PDF にレンダリングするようコンバーターに伝え、-sdocs:off(既定)の暗黙の状態下で、レンダリングされたすべてのページがメッセージ PDF に追加されます。受信者は 1 つのファイルを開けば、メールに加えて Word、Excel、画像、PDF の各添付ファイルが読み順に並んでいるのを見られます。
MailConverterX.exe "C:\mail\incoming\*.msg" "C:\out\" -cPDF -attach -docs
同じ変換ですが、-sdocs はマージする代わりに変換した各添付ファイルをメッセージ PDF と並んだ独自の PDF として書き出します。後続システムが添付ファイルを個別にインデックス化する場合に便利です。
MailConverterX.exe "C:\mail\export\*.eml" "C:\out\" -cPDF -attach -docs -sdocs
Outlook PST を MSG ファイルにエクスポートすると、結果は元のメールボックスを反映した深いフォルダツリーになります。-Recurse はすべてのサブフォルダを走査し、-kfs は出力側で同じ構造を維持するので、受信トレイ、送信済みアイテム、カスタムフォルダが分離されたままになります。
MailConverterX.exe "C:\pst-export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs -attach -docs
法的レビューでは、すべてのヘッダー、すべての宛先フィールド、そして添付ファイルが変換できなかった場合でも何が添付されていたかの記録が必要です。-iattach は添付ファイルメタデータ(ファイル名、サイズ、MIME タイプ)をドキュメントに書き込み、-rfcheaders は生の RFC-822 転送ヘッダーを含め、-uattach は ZIP 添付を展開してその内容も変換されるようにします。
MailConverterX.exe "C:\case-2026-117\*.msg" "C:\review\case-2026-117\" -cPDF -Recurse -kfs -sender -rcpt -cc -bcc -date -subject -attach -iattach -uattach -docs -rfcheaders
単一納品物として引き渡す際に便利です:すべてのメッセージと変換されたすべての添付ファイルを時系列順に含む 1 つの PDF。-combine はすべてのソースファイルを 1 つのドキュメントにマージし、-sort date はメッセージの日付で並べ替えます。
MailConverterX.exe "C:\mail\ProjectAcme\*.eml" "C:\out\ProjectAcme-archive.pdf" -cPDF -combine -sort date -attach -docs
メールと添付ファイルを社外に出す場合は、出力をロックします。-mp はオーナーパスワード(権限を制御)を設定し、-up はユーザーパスワード(開封に必須)を設定し、-perm は受信者に許可する操作を正確に付与します。
MailConverterX.exe "C:\mail\confidential\*.msg" "C:\out\" -cPDF -attach -docs -mp "owner-secret" -up "client-pwd" -perm Copy -pc Maximum
マージされた PDF にメール本文と変換された添付ファイルが含まれる場合、変換時に適用されるヘッダー/フッターはすべてのページに一貫してラベルを付けます — パッケージ全体に対するベイツスタンプ風のスタンプに相当します。PDF メタデータフィールドは、文書管理システムでファイルを自己記述的にします。
MailConverterX.exe "C:\mail\matter-4471\*.msg" "C:\out\matter-4471\" -cPDF -attach -docs -HeadText "Matter 4471 — CONFIDENTIAL" -HeadAlign center -FootText "Page [page] of [date]" -FootAlign right -PDFAuthor "Acme Legal" -PDFTitle "Matter 4471 mail archive" -PDFSubject "Privileged review copy"
記録管理ワークフローでは、マージされたメール+添付ファイル PDF が ISO 19005(PDF/A)準拠で、組織の証明書でデジタル署名されている必要があります。-pdfa は PDF/A モードを有効にし、-PFXFile + -PFXPass は X.509 証明書でファイルに署名します。
MailConverterX.exe "C:\mail\archive\2026\*.eml" "C:\archive\2026\" -cPDF -Recurse -kfs -attach -docs -pdfa -PFXFile "C:\certs\acme-archive.pfx" -PFXPass "cert-pwd" -SignLoc "Acme HQ" -SignCon "[email protected]" -SignRes "Records retention seal"
既定のファイル名はソースファイルから派生します。-template を使うとメッセージのメタデータ — 日付、送信者、件名 — から名前を組み立てられます。これはアーカイブや案件管理ツールが通常求める形式です。-atemplate は -sdocs がオンの場合に個別保存される添付ファイルの名前を制御します。
MailConverterX.exe "C:\mail\inbox\*.msg" "C:\out\" -cPDF -attach -docs -sdocs -template "[date:yyyy-mm-dd]_[sender]_[subject]" -atemplate "[mail]_attach[attach_index]_[attach]"
MailConverterX.exe がサービスやスケジュールジョブとして動作し始めたら、唯一の信号はログです。-verbosity detail はメッセージごとと添付ファイルごとに 1 行を書き込み、-logmode append は実行をまたいで履歴を維持し、-list はコマンドラインからではなくワーカーが生成したテキストファイルからキューを読み取り、-fo はプロンプトなしで以前の出力を上書きします。
MailConverterX.exe -list "C:\queues\mail-batch.txt" "C:\out\" -cPDF -Recurse -kfs -attach -docs -fo -log "C:\logs\mailconv.log" -verbosity detail -logmode append
更新 Tue, 05 May 2026
(のみ $1900.00)
-docs 添付ファイル変換エンジンが追加されています。-docs を使用すると、コンバーターはサポートされているすべての添付ファイル(Word、Excel、PowerPoint、画像、PDF)をターゲット形式にレンダリングし、メール本文と同じ出力ドキュメントに統合するか、隣接する別ドキュメントとして保存します(-sdocs)。通常の Mail Converter X は添付ファイルを元のファイル形式のままメールの隣に保存するだけです。Pro は e-discovery、記録保持、メールスレッドごとに 1 つの自己完結型 PDF を成果物とするワークフローに最適な選択です。new COM("MailConverterPro.MailConverterX")、.NET では Pro ActiveX を登録した後 new MailConverterX()、Python では win32com.client.Dispatch("MailConverterPro.MailConverterX")、Ruby では WIN32OLE.new('MailConverterPro.MailConverterX')。または、MailConverterX.exe コマンドラインバイナリをあらゆるプロセス、スケジューラー、シェルスクリプトから呼び出すこともできます。ASP/PHP のウェブレスポンス向けに ConvertToStream による PDF 直接ストリーミングも利用可能です。-uattach で展開してその内容も変換できます。サポート対象外の添付ファイル形式はログに記録され、メッセージを中断せずにスキップされます。-pdfa を使用し、組織の X.509 証明書でデジタル署名するには -PFXFile "C:\certs\acme.pfx" -PFXPass "cert-pwd" を使用します。-SignLoc、-SignCon、-SignRes で署名メタデータを付加します。トランスポートヘッダー保持の -rfcheaders と添付ファイルインデックス化の -iattach と組み合わせることで、規制業界が必要とするアーカイブ記録の全シナリオをカバーします。-IgnoreInvalidSource により、1 つの不正なソースファイルがバッチ全体を中断することを防ぎます。-msuccess と -merror は、処理済みおよび失敗したソースファイルを別々のフォルダに振り分けます。-list キューファイル入力と -log -verbosity detail を組み合わせると、メッセージごとおよび添付ファイルごとに 1 行の構造化されたログが書き込まれ、ログ集約ツールに取り込めます。無料トライアルをダウンロードして、ファイルを数分で変換。
クレジットカードもメールアドレスも不要。
Docker docker run -p 5000:5000 tdhster/mailconverter-api