Converteer e-mails via webservers
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Mail Converter X is een server-side SDK die MSG-, EML- en MBOX-e-mails converteert naar PDF, DOC, RTF, HTML, XHTML, TXT, TIFF, JPEG, EML, MSG en PST — zonder Microsoft Outlook, MAPI of welke Office Interop dan ook op de server. Hij draait stil: geen GUI, geen dialoogvensters, geen pop-ups. Total Mail Converter X wordt geleverd met zowel een command-line binary als een ActiveX/COM-interface, zodat hij naadloos past in ASP, PHP, .NET, Python, Ruby, Java en elke andere COM-bewuste backend.
Wat deze Standard-variant doet:
-atemplate; ZIP-bijlagen uitgepakt met -uattach
-HeadText / -FootText) voor juridische e-discovery
-mp, -up, -perm)
-rfcheaders)
-Recurse + -kfs voor verwerking van de hele mailboxstructuur
Standard versus Pro X: de Standard-editie bewaart bijlagen als hun oorspronkelijke bestandstypen naast de e-mail-PDF. De Pro-versie met -docs rendert bijlagen (DOCX, XLSX, afbeeldingen, PDF's) naar het doelformaat en voegt ze samen in hetzelfde uitvoerbestand als de berichttekst. Kies Standard voor eenvoudige mailboxarchivering; kies Pro voor e-discovery-leveringen waarbij de uitvoer één zelfstandige PDF per e-mailthread is.
Probeer het gratis (proefperiode van 30 dagen, zonder beperkingen) en ontdek dat het zijn geld echt waard is.
Enkele van de momenteel ondersteunde bestandsformaatconversies:
|
|
|
LLM-agents (Claude, ChatGPT, Cursor, Cline) en retrievalframeworks (LangChain, LlamaIndex, Haystack) lezen geen MSG, EML of MBOX — ze lezen tekst. Total Mail Converter X schrijft mail naar GitHub-Flavored Markdown met gestructureerde frontmatter en een optionele Docling-compatibele sidecar, zodat elk bericht in uw vector store belandt met afzender, ontvangers, datum, onderwerp, threading en body intact — niet als een platte dump waarin de headers en body door elkaar zijn geklust.
Wat u krijgt bij Markdown-uitvoer:
source_file, format (MIME), message_id, from, to, cc, bcc, date, subject, in_reply_to, references (volledige threading), has_attachments, gedetecteerde language, generator en een binary_hash voor herkomst
in_reply_to- en references-ketens blijven bevraagbaar, zodat een downstream RAG-index conversaties kan reconstrueren
attachments-array in de frontmatter geeft naam, MIME-type en grootte; de bestanden zelf worden naast de Markdown opgeslagen (dit is het bijlagegedrag van de Standard-editie; voor inline gerenderde bijlagen gebruik Total Mail Converter Pro X)
.docling.json-sidecar — Docling-schema-JSON met header-/body-ankers, volledige bijlagemetadata en een chunks_hint-array die uw splitter kan lezen
Dit is de CoolUtils RAG Adapter — een uniform Markdown-contract dat door elk Total Converter X-product wordt gedeeld. Volledige specificatie, voorbeeld-.md + .docling.json en integratiesnippets staan op de pagina Coolutils Converter X — RAG Adapter.
(inclusief 30 dagen GRATIS proefperiode)
(alleen $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;
"Ik werk voor Freeland Cooper & Foreman LLP en ik beheer momenteel het project waarvoor we Total Mail Converter X hebben aangeschaft. We hebben het programma gekocht om grote aantallen .msg-bestanden samen te voegen tot .pst-vorm, en tot nu toe ben ik zeer tevreden met de resultaten; het is betrouwbaar, zeer functioneel en eenvoudig in gebruik."
Max Canin
www.freelandlaw.com
"Wij gebruiken SharePoint als documentbibliotheek en benaderen die via UNC. Ik gebruik Total Mail Converter X om e-mailberichten te archiveren. Ik gebruik de onderwerpregel als onderdeel van de uiteindelijke bestandsnaam, maar dat geeft een probleem: SharePoint staat bepaalde tekens niet toe in bestandsnamen. Ik vroeg me af of er een command-line-optie kon worden toegevoegd om de onveilige tekens te verwijderen voor gebruik in SharePoint UNC-paden."
Shane Adam
Systems Analyst & Developer, http://eigltd.com
"Wij archiveren mailbox-exports van vertrekkende medewerkers. Klanten leveren ons PST/MBOX-dumps; onze pipeline maakt van elk een map met zelfstandige PDF's met volledige RFC-822-headers behouden voor forensisch onderzoek. Total Mail Converter X met -Recurse -kfs -rfcheaders -combine is de motor. Zes jaar in productie, doorvoer rond de 5.000 berichten per uur op onze hardware. Geen Outlook in de pipeline."
Bartosz K.
Senior Backend Developer at a compliance-archive vendor
"Tickets bevatten EML-bijlagen; het supportteam heeft PDF-kopieën nodig voor het ticketspoor. Total Mail Converter X plus Total Folder Monitor: tickets droppen EML in een inbox-map, de converter ruimt ze op, het supporttool pakt de PDF's op. Nette Bates-stijl paginanummers dankzij -HeadText/-FootText, geen handmatig ingrijpen. Headless op Windows Server Core, geen Outlook, geen verrassingen met licenties."
Soledad O.
DevOps Engineer at a customer-support SaaS
"We hebben Total Mail Converter X opgenomen in ons records-managementproduct onder de Royalty-Free License. De eenmalige fee per project was een fractie van wat Aspose.Email vroeg op een per-developer-abonnement. Onze installer levert en registreert de ActiveX, onze app roept hem rechtstreeks aan, eindgebruikers zien alleen onze UI. De 32-bits ActiveX-beperking kostte ons een paar dagen pipeline-aanpassing, maar de support reageerde snel toen we vroegen naar workarounds."
Niko T.
Independent Software Vendor
Total Mail ConverterX wordt geleverd met MailConverterX.exe, een console-binary die u kunt aansturen vanuit scripts, geplande taken, mail-archief workers of een willekeurige backend-service. De vlaggen komen overeen met de GUI MailConverter.exe; voor de volledige referentie zie de documentatie van de opdrachtregel. De onderstaande recepten dekken de gevallen die we het vaakst horen van SDK-klanten die werken met MSG-, EML- en MBOX-mailboxen.
De kleinst mogelijke aanroep — één Outlook-bericht in, één PDF eruit.
MailConverterX.exe "C:\mailbox\invoice.msg" "C:\out\invoice.pdf" -cPDF
Verwerk een hele map met EML-bestanden geëxporteerd uit Thunderbird, Apple Mail of een willekeurige IMAP-client en plaats de PDF's in een uitvoermap ernaast.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF
Wissel het masker voor *.msg of *.mbox om een ander bronformaat te kiezen, of -cDOC / -cTXT / -cTIFF om een ander doel te kiezen.
Een Outlook-export staat zelden in één platte map — meestal krijgt u Inbox, Verzonden, Archief en tientallen submappen. -Recurse doorloopt subdirectories; -kfs recreëert dezelfde boom aan de uitvoerkant in plaats van alles in één bak plat te slaan.
MailConverterX.exe "C:\export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs
Voor e-discovery en dossiers wilt u meestal één PDF per zaak, niet één per e-mail. -combine voegt de overeenkomende berichten samen tot één PDF in bronbestandsvolgorde; -sort date rangschikt ze chronologisch.
MailConverterX.exe "C:\cases\Acme\*.eml" "C:\out\Acme-thread.pdf" -cPDF -combine -sort date
De Standard-editie converteert de e-mailtekst en schrijft originele bijlagen naar schijf naast het uitvoerdocument. -attach schakelt bijlage-extractie in; -atemplate bepaalt het naamgevingspatroon van bijlagebestanden.
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -attach -atemplate "[mail]_[attach_index]_[attach]"
Voeg -uattach toe om ZIP-bijlagen automatisch uit te pakken, of -images om inline-afbeeldingen direct in de PDF-tekst in te bedden.
Standaard wordt elk headerveld geëxporteerd. Om een schone, afdrukklare PDF te produceren die alleen Van, Datum en Onderwerp toont — geen CC, geen BCC, geen transportheaders — schakelt u de ongewenste velden expliciet uit.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -sender -date -subject -cc:off -bcc:off -rcpt:off
Voeg -rfcheaders toe als u in plaats daarvan de volledige RFC-822 transportheaders bewaard wilt hebben voor forensisch onderzoek.
Bates-stijl stempelen voor litigatie-overdrachten: een voettekst met een doorlopend paginanummer op elke pagina, plus een kop met de productiedatum. [page] en [date] zijn de ingebouwde plaatshouders.
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
Standaard voor het verzenden van bevoorrechte correspondentie naar de tegenpartij: een eigenaarswachtwoord vergrendelt bewerk-/afdrukrechten, een gebruikerswachtwoord regelt de toegang tot het bestand, en -perm verleent precies de rechten die u toestaat.
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Copy
Zodra MailConverterX.exe als service of geplande taak draait, is het log de enige manier om te weten wat er is gebeurd. -verbosity detail schrijft één regel per bestand; -logmode append bewaart de geschiedenis tussen runs door; -fo overschrijft eerdere uitvoer stilletjes in plaats van te stoppen bij conflicten.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -log "C:\logs\mailconv.log" -verbosity detail -logmode append -fo
Wanneer een mail-archief worker een wachtrijbestand schrijft en de converter het verwerkt, wilt u de bestandspaden niet in de opdrachtregel zelf coderen. -list leest bestandsmaskers (één per regel) uit een tekstbestand.
MailConverterX.exe -list "C:\queues\mail-batch.txt" "C:\out\" -cPDF -log "C:\logs\mailconv.log"
Bijgewerkt Tue, 05 May 2026
(alleen $950.00)
-docs bijlageconversiemotor toe, die elke ondersteunde bijlage (Word, Excel, PowerPoint, afbeeldingen, PDF's) rendert naar het doelformaat en deze samenvoegt in dezelfde uitvoer-PDF als de berichttekst. Kies Standard voor eenvoudige mailboxarchivering; kies Pro voor e-discovery-leveringen waarbij de uitvoer één zelfstandige PDF per e-mailthread is.new COM("MailConverter.MailConverterX") in PHP, new MailConverterX() in .NET, win32com.client.Dispatch("MailConverter.MailConverterX") in Python, WIN32OLE.new('MailConverter.MailConverterX') in Ruby. Als alternatief kan de MailConverterX.exe command-line binary worden aangeroepen vanuit elk proces, elke scheduler of shellscript. Directe PDF-streaming via ConvertToStream is ook beschikbaar voor ASP/PHP-webreacties.-c <FORMAT> om het doel te kiezen.-attach mee om bijlage-extractie in te schakelen. Bijlagen komen standaard in dezelfde map als de uitvoer-PDF terecht. Gebruik -atemplate "[mail]_[attach_index]_[attach]" om een aangepast naamgevingspatroon te definiëren op basis van bericht- en bijlagemetadata. Voeg -uattach toe om ZIP-bijlagen automatisch uit te pakken zodat hun inhoud naast de rest wordt opgeslagen. Voeg -images toe om inline-afbeeldingen rechtstreeks in de PDF-tekst in te bedden in plaats van ze als bestanden op te slaan.-mp "owner-pwd" stelt het eigenaarswachtwoord in (regelt machtigingen); -up "user-pwd" beveiligt het openen van het bestand; -perm accepteert elke combinatie van Print, HighResPrint, Copy, Modify, Annotation, FormFill. Gebruik voor Bates-stempels -HeadText/-FootText met placeholders [page], [date], [time] en -HeadAlign/-FootAlign om de tekst te positioneren. Gecombineerd met -combine -sort date levert dit één Bates-gestempelde PDF op voor een hele mailthread..md als uitvoerformaat en de converter schrijft één GitHub-Flavored Markdown-bestand per bericht: HTML-bodies omgezet naar Markdown, plaintext-bodies doorgegeven, multipart MIME samengebouwd tot één leesbare weergave. Een YAML frontmatter-blok bevat message_id, from, to, cc, bcc, date, subject, in_reply_to en references (volledige threading), plus een attachments-array met naam, MIME-type en grootte. Threading-ketens blijven bevraagbaar, zodat een downstream RAG-index hele conversaties kan reconstrueren. Dit is onderdeel van de CoolUtils RAG Adapter — hetzelfde Markdown-contract wordt gedeeld door elk Total Converter X-product.binary_hash voor herkomst en een chunks_hint-array die uw splitter kan lezen. Inschakelen met -Docling op de command-line. De JSON is onafhankelijk van de Markdown — u kunt beide in uw index voeren of alleen de .md gebruiken..md-bestand is gewone GFM met een YAML frontmatter-blok, dus LangChain's UnstructuredMarkdownLoader, LlamaIndex's MarkdownReader, Haystack's MarkdownToDocument en Claude Code's MCP-bestandstools lezen het rechtstreeks. Voor Claude, ChatGPT of een chat-UI kunt u de Markdown ongewijzigd in context plakken — afzender/ontvanger/datum staan bovenaan zichtbaar, threading-metadata staan in de frontmatter en de body leest als een gewoon bericht.MailConverterX.exe "C:\inbox\*.eml" "C:\out\" -cMD -Docling -Recurse -kfs. -cMD kiest Markdown; -Docling schrijft daarnaast de .docling.json-sidecar; -Recurse doorloopt submappen; -kfs spiegelt de mailbox-mapstructuur aan de uitvoerzijde. Werkt op dezelfde manier voor MSG- en MBOX-invoer. Combineer met -template "[date:yyyy-mm-dd]_[from]_[subject]" voor zelfbeschrijvende bestandsnamen. De resulterende Markdown is klaar om te chunken, embedden en indexeren in elke vector store.Download de gratis proefversie en converteer uw bestanden in enkele minuten.
Geen creditcard of e-mail vereist.
Neem contact met ons op. We verbeteren graag onze mail converter zodat deze perfect aan uw behoeften voldoet. Aanpassing is vaak gratis voor onze klanten.
Docker docker run -p 5000:5000 tdhster/mailconverter-api