Converteer MSG en EML-bestanden op web-servers
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Mail Converter Pro X is een server-side SDK die MSG- en EML-mails converteert naar PDF, PDF/A, DOC, RTF, TXT, HTML, TIFF en JPEG — met bijlagen die naar hetzelfde doelformaat worden geconverteerd en samengevoegd in één outputbestand, zonder Microsoft Outlook op de server. De tool draait headless: geen GUI, geen dialoogvensters, geen pop-ups. Total Mail Converter Pro X wordt geleverd met zowel een command-line-binary als een ActiveX/COM-interface en past dus probleemloos in ASP, PHP, .NET, Python, Ruby, Java en elke andere COM-bewuste backend.
Het verschil tussen de Pro-variant en de gewone X-editie is de -docs-schakelaar. Met -docs aan wordt elke ondersteunde bijlage — Word-documenten, spreadsheets, afbeeldingen, PDF's — geconverteerd naar hetzelfde doelformaat (bijv. PDF) en ofwel samengevoegd in de PDF van het bericht ofwel ernaast als losse documenten opgeslagen. De ontvanger opent één bestand en ziet de tekst van de mail plus alle bijlagen in leesvolgorde. Ondersteunde bijlage-invoertypes:
-uattach
Naast bijlagenconversie dekt Total Mail Converter Pro X het volledige scenario van e-discovery en archiefbewaring: PDF/A-output (-pdfa), digitale ondertekening met X.509-certificaten (-PFXFile/-PFXPass), opname van RFC-822-transportheaders (-rfcheaders), indexering van bijlagemetadata (-iattach), Bates-stijl header/footer-stempeling over het samengevoegde document, met wachtwoord beveiligde PDF's met permissievlaggen per recht, en recursie per map die de oorspronkelijke mailboxstructuur weerspiegelt (-Recurse -kfs).
Hoge conversiesnelheid en batchverwerking zorgen voor een eenvoudig en saai-vrij proces — tienduizenden berichten met bijlagen per nachtelijke run is normaal. Probeer het gratis (30 dagen proefperiode, zonder beperkingen) en ontdek dat het zijn geld echt waard is.
Enkele van de momenteel ondersteunde bestandsformaatconversies:
|
|
|
(inclusief 30 dagen GRATIS proefperiode)
(alleen $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;
"We zijn erg tevreden met de Total Mail Converter Pro. We hebben hem gebruikt om ongeveer 20 duizend mails naar PDF te converteren; voor ons was het belangrijk dat hij mailbijlagen in de doel-PDF kon converteren. Bij het converteren van de 20 duizend berichten faalden er slechts ongeveer een dozijn vanwege onleesbare bijlagen. Onze suggestie ter verbetering: wanneer een bijlage faalt, sla dan niet het hele mailbestand over, maar converteer de overige bijlagen en lever de PDF op zonder de ene defecte bijlage. Ga zo door."
Manuel Schlief
www.darag.de
"Wij doen e-discovery voor externe advocaten. Klanten sturen PST-exports; onze pijplijn maakt van elke PST één PDF per zaak, elke mail plus elke geconverteerde bijlage in leesvolgorde met behoud van RFC-headers. Total Mail Converter Pro X met -docs -iattach -rfcheaders is de motor. Ongeveer 8.000 berichten per uur op onze hardware, inclusief het renderen van DOCX/XLSX-bijlagen. Vijf jaar in productie, geen storingen die we aan de converter kunnen toeschrijven."
Henrik J.
Senior Backend Developer at a legal-tech vendor
"Archieven van patiëntcommunicatie moeten in ons documentbeheersysteem terechtkomen als PDF/A met digitale X.509-handtekeningen — HIPAA chain-of-custody-vereiste. -pdfa plus -PFXFile/-PFXPass plus -SignLoc/-SignCon/-SignRes dekt het hele ondertekeningsscenario in één binary-aanroep. We hebben een Java/iText-pijplijn vervangen die drie afzonderlijke libraries nodig had om dezelfde output te produceren. Headless op Windows Server Core, geen Outlook, geen verrassingen."
Renata B.
DevOps Engineer at a healthcare records platform
"We hebben Total Mail Converter Pro X gebundeld in ons compliance-archiveringsproduct onder de Royalty-Free License. De eenmalige vergoeding per project was een fractie van wat Aspose.Email plus Aspose.Words plus Aspose.PDF als stack zouden hebben gekost. Ons installatieprogramma installeert en registreert de ActiveX, onze app roept hem rechtstreeks aan, eindgebruikers zien alleen onze UI. De 32-bit ActiveX-beperking kostte ons een paar dagen om de pijplijn aan te passen, maar de support reageerde snel toen we naar workarounds vroegen."
Daichi M.
Independent Software Vendor
"Klanten leveren ons 's nachts EML-exports uit hun zakelijke Exchange-tenants. Onze worker-pijplijn voegt elke thread samen tot één Bates-gestempelde PDF per zaakmap. -Recurse -kfs behoudt de mailbox-mappenhiërarchie aan de outputzijde, -HeadText/-FootText past het zaaklabel en de paginering toe op zowel berichten- als bijlagepagina's. Deterministisch tussen runs, wat belangrijk is voor juridische review. De CLI is stabiel en goed gedocumenteerd."
Aleksandra W.
Lead .NET Developer at a corporate-archive provider
Total Mail Converter Pro X wordt geleverd met MailConverterX.exe, een console-binary die u kunt aansturen vanuit scripts, geplande taken, mail-archief workers of een willekeurige backend-service. Wat de Pro-variant onderscheidt is de switch -docs: in plaats van bijlagen alleen naast de e-mail op te slaan, converteert Pro Word-documenten, spreadsheets, afbeeldingen en andere bijlagen naar het doelformaat en voegt ze samen in hetzelfde uitvoerbestand als de berichttekst. De vlaggen komen overeen met de GUI MailConverter.exe; voor de volledige referentie zie de documentatie van de opdrachtregel. De onderstaande recepten richten zich op bijlageverwerking-scenario's die alleen de Pro-editie ondersteunt.
De kenmerkende Pro-workflow. -docs vertelt de converter om elke ondersteunde bijlage naar PDF te renderen; met -sdocs:off impliciet (standaard), worden alle gerenderde pagina's toegevoegd aan de bericht-PDF. De ontvanger opent één bestand en ziet de e-mail plus elke Word-, Excel-, afbeelding- en PDF-bijlage in leesvolgorde.
MailConverterX.exe "C:\mail\incoming\*.msg" "C:\out\" -cPDF -attach -docs
Dezelfde conversie, maar -sdocs schrijft elke geconverteerde bijlage als een eigen PDF naast de bericht-PDF in plaats van ze samen te voegen. Handig wanneer downstream-systemen bijlagen afzonderlijk indexeren.
MailConverterX.exe "C:\mail\export\*.eml" "C:\out\" -cPDF -attach -docs -sdocs
Na het exporteren van een Outlook PST naar MSG-bestanden is het resultaat een diepe mappenboom die de oorspronkelijke mailbox weerspiegelt. -Recurse doorloopt elke submap; -kfs behoudt dezelfde structuur aan de uitvoerkant zodat Inbox, Verzonden Items en aangepaste mappen gescheiden blijven.
MailConverterX.exe "C:\pst-export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs -attach -docs
Voor juridische beoordeling heeft u elke header, elk ontvangerveld en een verslag nodig van wat er was bijgevoegd — zelfs wanneer een bijlage niet kon worden geconverteerd. -iattach schrijft bijlagemetadata (bestandsnaam, grootte, MIME-type) in het document; -rfcheaders includeert de ruwe RFC-822 transportheaders; -uattach pakt ZIP-bijlagen uit zodat hun inhoud ook wordt geconverteerd.
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
Handig voor single-deliverable overdrachten: één PDF met elk bericht en elke geconverteerde bijlage in chronologische volgorde. -combine voegt alle bronbestanden samen tot één document; -sort date ordent ze op berichtdatum.
MailConverterX.exe "C:\mail\ProjectAcme\*.eml" "C:\out\ProjectAcme-archive.pdf" -cPDF -combine -sort date -attach -docs
Wanneer e-mails plus bijlagen het bedrijf verlaten, vergrendel de uitvoer. -mp stelt het eigenaarswachtwoord in (regelt rechten), -up stelt het gebruikerswachtwoord in (vereist om te openen), en -perm verleent precies de bewerkingen die de ontvanger mag uitvoeren.
MailConverterX.exe "C:\mail\confidential\*.msg" "C:\out\" -cPDF -attach -docs -mp "owner-secret" -up "client-pwd" -perm Copy -pc Maximum
Wanneer de samengevoegde PDF e-mailtekst en geconverteerde bijlagen bevat, labelt een kop/voettekst die bij conversie wordt toegepast elke pagina consistent — equivalent aan een Bates-stijl stempel over het hele pakket. PDF-metadatavelden maken het bestand zelfbeschrijvend in document-management-systemen.
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"
Voor records-management workflows moet de samengevoegde e-mail-plus-bijlagen-PDF ISO 19005 (PDF/A) compliant zijn en digitaal ondertekend met een organisatiecertificaat. -pdfa schakelt PDF/A-modus in; -PFXFile + -PFXPass ondertekenen het bestand met een X.509-certificaat.
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"
Standaard bestandsnamen worden afgeleid van het bronbestand. -template laat u namen samenstellen uit berichtmetadata — datum, afzender, onderwerp — wat archieven en case-management-tools meestal willen. -atemplate bepaalt de namen van afzonderlijk opgeslagen bijlagen wanneer -sdocs aanstaat.
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]"
Zodra MailConverterX.exe als service of geplande taak draait, is het log het enige signaal dat u heeft. -verbosity detail schrijft één regel per bericht en per bijlage; -logmode append bewaart de geschiedenis tussen runs door; -list leest de wachtrij uit een door een worker geproduceerd tekstbestand in plaats van vanaf de opdrachtregel; -fo overschrijft eerdere uitvoer zonder vragen.
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
Bijgewerkt Tue, 05 May 2026
(alleen $1900.00)
-docs-engine voor bijlagenconversie toe. Met -docs rendert de converter elke ondersteunde bijlage (Word, Excel, PowerPoint, afbeeldingen, PDF's) naar het doelformaat en voegt ze samen in hetzelfde outputdocument als de mailtekst, of slaat ze ernaast op als losse documenten (-sdocs). De gewone Mail Converter X slaat bijlagen alleen op in hun oorspronkelijke bestandstypes naast de mail. Pro is de juiste keuze voor e-discovery, archiefbewaring en elke workflow waarbij de oplevering één zelfstandige PDF per mailthread is.new COM("MailConverterPro.MailConverterX") in PHP, new MailConverterX() in .NET (na registratie van de Pro-ActiveX), win32com.client.Dispatch("MailConverterPro.MailConverterX") in Python, WIN32OLE.new('MailConverterPro.MailConverterX') in Ruby. Als alternatief kan de command-line-binary MailConverterX.exe vanuit elk proces, scheduler of shell-script worden aangeroepen. Directe PDF-streaming via ConvertToStream is ook beschikbaar voor ASP/PHP-webresponses.-uattach zodat hun inhoud ook wordt geconverteerd. Niet-ondersteunde bijlagetypes worden in het log vermeld en overgeslagen zonder dat het bericht wordt afgebroken.-pdfa voor naleving van ISO 19005 (PDF/A) en daarna -PFXFile "C:\certs\acme.pfx" -PFXPass "cert-pwd" om digitaal te ondertekenen met een X.509-organisatiecertificaat. -SignLoc, -SignCon en -SignRes voegen handtekeningmetadata toe. In combinatie met -rfcheaders voor het behoud van transportheaders en -iattach voor bijlage-indexering dekt dit het volledige archiefscenario dat gereguleerde sectoren nodig hebben.-IgnoreInvalidSource voorkomt dat één slecht bronbestand de hele batch afbreekt. -msuccess en -merror sturen verwerkte en mislukte bronbestanden naar afzonderlijke mappen. Wachtrij-input via -list plus -log -verbosity detail schrijft één gestructureerde regel per bericht en per bijlage voor opname in een log-aggregator.Download de gratis proefversie en converteer uw bestanden in enkele minuten.
Geen creditcard of e-mail vereist.
Docker docker run -p 5000:5000 tdhster/mailconverter-api