ウェブサーバーを通じてメールを変換します
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Mail Converter X は、MSG、EML、MBOX 形式のメールを PDF、DOC、RTF、HTML、XHTML、TXT、TIFF、JPEG、EML、MSG、PST に変換するサーバーサイド SDK です — サーバーに Microsoft Outlook、MAPI、または Office Interop を一切必要としません。サイレントで動作し、GUI、ダイアログ、ポップアップは表示されません。Total Mail Converter X にはコマンドラインバイナリと ActiveX/COM インターフェースの両方が付属しているため、ASP、PHP、.NET、Python、Ruby、Java など、COM をサポートするあらゆるバックエンドに組み込めます。
この Standard 版で実行できること:
-atemplate でカスタム命名、-uattach で ZIP 添付ファイルを展開
-HeadText / -FootText)
-mp、-up、-perm)
-rfcheaders)
-Recurse + -kfs
Standard と Pro X の違い: Standard 版は添付ファイルを元のファイル形式のままメールの PDF の隣に保存します。Pro バージョンは -docs により添付ファイル (DOCX、XLSX、画像、PDF) を出力形式に変換し、メール本文と同じ出力ファイルに統合します。シンプルなメールボックスのアーカイブには Standard を、メールスレッドごとに 1 つの自己完結型 PDF を成果物とする e ディスカバリには Pro を選んでください。
30 日間の無料試用 (機能制限なし) を試して、価格に見合う価値があることをご確認ください。
現在対応しているファイル形式変換の一部:
|
|
|
(30日間の無料試用を含む)
(のみ $950.00)
string src = @"C:\test\Source.eml";
string dest = @"C:\test\Dest.pdf";
var cnv = new MailConverterX();
cnv.Convert(src, dest, "-cPDF -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";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
sbLogs.AppendLine("Conversion complete.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("MailConverter.MailConverterX")
C.Convert "c:\test\source.eml", "c:\test\dest.pdf", "-cPDF -log c:\mail.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("MailConverter.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 -log c:\mail.log")
set C = nothing
$src="C:\\test\\test.msg";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("MailConverter.MailConverterX");
$c->convert($src,$dest, "-cPDF -log c:\\Mail.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('MailConverter.MailConverterX')
src = "C:\\test\\test.eml"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\Mail.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("MailConverter.MailConverterX")
src = "C:\\test\\test.eml"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\Mail.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('MailConverter.MailConverterX');
c.Convert('c:\test\source.eml', 'c:\test\dest.pdf', '-cPDF -log c:\test\Mail.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("MailConverter.MailConverterX");
c.Convert("C:\\test\\source.msg", "C:\\test\\dest.pdf", "-cPDF");
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 'MailConverter.MailConverterX'; $c->convert($src, $dest, "-cPDF -log c:\\test\\Mail.log"); print $c->ErrorMessage if -e $dest;
「私は Freeland Cooper & Foreman LLP に勤務しており、現在 Total Mail Converter X を購入したプロジェクトを担当しています。大量の .msg ファイルを .pst 形式に統合する目的で本プログラムを購入しましたが、これまでの結果に大変満足しています。信頼性が高く、機能も豊富で、使いやすいです。」
Max Canin
www.freelandlaw.com
「当社では SharePoint をドキュメントライブラリとして利用し、UNC 経由でアクセスしています。私は Total Mail Converter X でメールメッセージをアーカイブしています。件名行を出力ファイル名の一部として使っていますが、ここで問題があります: SharePoint はファイル名に特定の文字を許可していません。SharePoint UNC パスで使えない文字を除去するコマンドラインオプションを追加していただけないかと考えています。」
Shane Adam
Systems Analyst & Developer, http://eigltd.com
「退職する従業員のメールボックスエクスポートをアーカイブしています。お客様から PST/MBOX ダンプが送られてきて、当社のパイプラインがそれぞれを RFC-822 ヘッダーを完全に保持した自己完結型 PDF のフォルダーに変換し、フォレンジックレビューに供します。Total Mail Converter X を -Recurse -kfs -rfcheaders -combine と組み合わせたものがそのエンジンです。本番運用 6 年、当社のハードウェアで毎時約 5,000 件のスループットを実現しています。パイプラインのどこにも Outlook はありません。」
Bartosz K.
Senior Backend Developer at a compliance-archive vendor
「チケットには EML ファイルが添付され、サポートチームはチケット履歴用に PDF コピーを必要とします。Total Mail Converter X と Total Folder Monitor の組み合わせ: チケットが受信フォルダーに EML を投下すると、コンバーターがそれらを処理し、サポートツールが PDF を取り込みます。-HeadText/-FootText のおかげで Bates 形式のページ番号もきれいに付き、手動操作は不要です。Windows Server Core 上でヘッドレス、Outlook なし、ライセンスの想定外もありません。」
Soledad O.
DevOps Engineer at a customer-support SaaS
「当社の記録管理製品に Total Mail Converter X を Royalty-Free ライセンスでバンドルしました。プロジェクトごとの一括費用は、Aspose.Email が要求した開発者ごとのサブスクリプション料金のごく一部で済みました。当社のインストーラーが ActiveX を配布・登録し、当社のアプリが直接呼び出すため、エンドユーザーには当社の UI しか見えません。32 ビット ActiveX の制限のためにパイプラインの再構成に数日かかりましたが、回避策について問い合わせた際のサポートの対応は迅速でした。」
Niko T.
Independent Software Vendor
Total Mail ConverterX には MailConverterX.exe が同梱されており、スクリプト、スケジュールタスク、メールアーカイブワーカー、あるいは任意のバックエンドサービスから呼び出せるコンソールバイナリです。フラグの体系は GUI 版の MailConverter.exe と一致しています。すべてのオプションはコマンドライン ドキュメントを参照してください。以下のレシピは、MSG、EML、MBOX のメールボックスを扱う SDK のお客様から最も多く寄せられるユースケースを取り上げています。
最小の呼び出し方 — Outlook メッセージ 1 通を入力に、PDF 1 つを出力に。
MailConverterX.exe "C:\mailbox\invoice.msg" "C:\out\invoice.pdf" -cPDF
Thunderbird、Apple Mail、または任意の IMAP クライアントからエクスポートされた EML ファイル群を処理し、隣接する出力ディレクトリに PDF を出力します。
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF
マスクを *.msg または *.mbox に切り替えるとソース形式を変えられ、-cDOC / -cTXT / -cTIFF でターゲットを変えられます。
Outlook のエクスポートはフラットな 1 フォルダにまとまることはまずありません — 通常は受信トレイ、送信済み、アーカイブ、その他多数のサブフォルダが含まれます。-Recurse はサブディレクトリを走査し、-kfs はすべてを 1 つのバケットにフラット化する代わりに、出力側に同じツリーを再現します。
MailConverterX.exe "C:\export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs
e-discovery(電子開示)や案件ファイルでは、メールごとではなく案件ごとに 1 つの PDF が欲しいのが普通です。-combine は一致したメッセージをソースファイル順に 1 つの PDF にマージし、-sort date は時系列順に並べ替えます。
MailConverterX.exe "C:\cases\Acme\*.eml" "C:\out\Acme-thread.pdf" -cPDF -combine -sort date
Standard 版はメール本文を変換し、元の添付ファイルを出力ドキュメントの隣のディスクに書き出します。-attach は添付ファイル抽出を有効にし、-atemplate は添付ファイル名のパターンを制御します。
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -attach -atemplate "[mail]_[attach_index]_[attach]"
ZIP 添付を自動で展開するには -uattach を、インライン画像を PDF 本文に直接埋め込むには -images を追加します。
既定ではすべてのヘッダーフィールドがエクスポートされます。From、Date、Subject だけを表示する印刷向きの PDF を作るには — CC、BCC、転送ヘッダーを除いて — 不要なフィールドを明示的に無効にします。
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -sender -date -subject -cc:off -bcc:off -rcpt:off
フォレンジックレビュー用に完全な RFC-822 転送ヘッダーを保持する必要がある場合は、代わりに -rfcheaders を追加してください。
訴訟提出物用のベイツスタンプ風スタンピング:すべてのページに連続ページ番号を入れたフッターと、提出日のヘッダー。[page] と [date] が組み込みプレースホルダーです。
MailConverterX.exe "C:\cases\Acme\*.msg" "C:\out\Acme.pdf" -cPDF -combine -sort date -HeadText "ACME-PROD [date]" -HeadAlign right -FootText "Page [page]" -FootAlign center
反対側の弁護士に特権コミュニケーションを送る際の定石:オーナーパスワードで編集/印刷権限をロックし、ユーザーパスワードでファイルを開く操作を制限し、-perm で許可する権限を正確に付与します。
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Copy
MailConverterX.exe がサービスやスケジュールジョブとして動作し始めたら、何が起きたかを知る唯一の手段はログです。-verbosity detail はファイルごとに 1 行を書き込み、-logmode append は実行をまたいで履歴を維持し、-fo は衝突時に停止する代わりに前の出力を静かに上書きします。
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -log "C:\logs\mailconv.log" -verbosity detail -logmode append -fo
メールアーカイブワーカーがキューファイルを書き出し、コンバーターがそれを消費する場合、コマンドラインそのものにファイルパスを書きたくないでしょう。-list はテキストファイルから 1 行 1 ファイルマスクを読み込みます。
MailConverterX.exe -list "C:\queues\mail-batch.txt" "C:\out\" -cPDF -log "C:\logs\mailconv.log"
更新 Tue, 05 May 2026
(のみ $950.00)
-docs 添付ファイル変換エンジンを追加し、対応するすべての添付ファイル (Word、Excel、PowerPoint、画像、PDF) を出力形式にレンダリングしてメール本文と同じ出力 PDF に統合します。シンプルなメールボックスのアーカイブには Standard を、メールスレッドごとに 1 つの自己完結型 PDF を成果物とする e ディスカバリには Pro を選んでください。new COM("MailConverter.MailConverterX")、.NET では new MailConverterX()、Python では win32com.client.Dispatch("MailConverter.MailConverterX")、Ruby では WIN32OLE.new('MailConverter.MailConverterX')。あるいは MailConverterX.exe コマンドラインバイナリを任意のプロセス、スケジューラ、シェルスクリプトから呼び出すこともできます。ASP/PHP の Web レスポンス向けに ConvertToStream による PDF の直接ストリーミングも利用可能です。-c <FORMAT> で出力形式を指定します。-attach を渡すと添付ファイルの抽出が有効になります。デフォルトでは添付ファイルは出力 PDF と同じフォルダーに保存されます。-atemplate "[mail]_[attach_index]_[attach]" でメッセージと添付ファイルのメタデータに基づくカスタム命名パターンを定義できます。-uattach を追加すれば ZIP 添付ファイルを自動的に展開し、その中身もまとめて保存します。-images を追加するとインライン画像をファイルとして保存する代わりに PDF 本文に直接埋め込みます。-mp "owner-pwd" でオーナーパスワード (権限を制御) を、-up "user-pwd" でファイルを開く際のパスワードを設定します。-perm は Print、HighResPrint、Copy、Modify、Annotation、FormFill の任意の組み合わせを受け付けます。Bates スタンプには -HeadText/-FootText をプレースホルダー [page]、[date]、[time] および -HeadAlign/-FootAlign と組み合わせて配置します。-combine -sort date と組み合わせれば、メールスレッド全体から 1 つの Bates スタンプ付き PDF を生成できます。無料トライアルをダウンロードして、ファイルを数分で変換。
クレジットカードもメールアドレスも不要。