Converti file MSG ed EML su web-server
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Mail Converter Pro X è un SDK lato server che converte email MSG ed EML in PDF, PDF/A, DOC, RTF, TXT, HTML, TIFF e JPEG — con gli allegati renderizzati nello stesso formato di destinazione e uniti in un unico file di output, senza Microsoft Outlook sul server. Funziona in modalità headless: nessuna GUI, nessuna finestra di dialogo, nessun popup. Total Mail Converter Pro X include sia un binario a riga di comando sia un'interfaccia ActiveX/COM, quindi si integra in ASP, PHP, .NET, Python, Ruby, Java e qualsiasi altro backend compatibile con COM.
Ciò che differenzia la variante Pro dall'edizione X standard è lo switch -docs. Con -docs attivo, ogni allegato supportato — documenti Word, fogli di calcolo, immagini, PDF — viene convertito nello stesso formato di destinazione (es. PDF) e unito al PDF del messaggio oppure salvato come documento separato accanto ad esso. Il destinatario apre un solo file e vede il corpo dell'email più tutti gli allegati nell'ordine di lettura. Tipi di allegato supportati in input:
-uattach
Oltre alla conversione degli allegati, Total Mail Converter Pro X copre l'intero scenario di e-discovery e conservazione dei record: output PDF/A (-pdfa), firma digitale con certificati X.509 (-PFXFile/-PFXPass), inclusione delle intestazioni di trasporto RFC-822 (-rfcheaders), indicizzazione dei metadati degli allegati (-iattach), stampigliatura di intestazioni/piè di pagina in stile Bates su tutto il documento unito, PDF protetti da password con flag per singolo permesso e ricorsione per cartella che rispecchia la struttura originale della casella postale (-Recurse -kfs).
L'elevata velocità di conversione e l'elaborazione in batch rendono il processo semplice e privo di tempi morti — decine di migliaia di messaggi con allegati per esecuzione notturna sono la norma. Provalo gratuitamente (periodo di prova di 30 giorni, senza limitazioni) e scopri che vale davvero il suo prezzo.
Alcune delle conversioni di formato attualmente supportate:
|
|
|
(incluso un periodo di prova GRATUITO di 30 giorni)
(solo $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;
"Siamo molto soddisfatti di Total Mail Converter Pro. L'abbiamo usato per convertire circa 20 mila email in PDF; per noi era importante la sua capacità di convertire gli allegati nel PDF di destinazione. Sulla conversione dei 20 mila messaggi, solo una dozzina circa è fallita a causa di allegati illeggibili. Il nostro suggerimento di miglioramento: quando un allegato fallisce, non saltare l'intero file di posta ma convertire gli altri allegati e completare il PDF senza il singolo allegato difettoso. Continuate così."
Manuel Schlief
www.darag.de
"Ci occupiamo di e-discovery per studi legali esterni. I clienti inviano export PST; la nostra pipeline trasforma ogni PST in un PDF per pratica, ogni email più ogni allegato convertito nell'ordine di lettura con le intestazioni RFC preservate. Total Mail Converter Pro X con -docs -iattach -rfcheaders è il motore. Circa 8.000 messaggi all'ora sul nostro hardware, inclusa la renderizzazione degli allegati DOCX/XLSX. Cinque anni in produzione, nessun guasto attribuibile al convertitore."
Henrik J.
Senior Backend Developer at a legal-tech vendor
"Gli archivi delle comunicazioni con i pazienti devono arrivare nel nostro sistema di gestione documentale come PDF/A con firme digitali X.509 — requisito di chain-of-custody HIPAA. -pdfa più -PFXFile/-PFXPass più -SignLoc/-SignCon/-SignRes copre l'intero scenario di firma in una sola chiamata al binario. Abbiamo sostituito una pipeline Java/iText che richiedeva tre librerie separate per produrre lo stesso output. Headless su Windows Server Core, niente Outlook, nessuna sorpresa."
Renata B.
DevOps Engineer at a healthcare records platform
"Abbiamo integrato Total Mail Converter Pro X nel nostro prodotto di archiviazione di compliance con la Royalty-Free License. La quota una tantum per progetto è stata una frazione di quanto sarebbero costati Aspose.Email più Aspose.Words più Aspose.PDF come stack. Il nostro installer distribuisce e registra l'ActiveX, la nostra app lo chiama direttamente, gli utenti finali vedono solo la nostra UI. La limitazione dell'ActiveX a 32 bit ci è costata un paio di giorni di rilavorazione della pipeline, ma il supporto è stato reattivo quando abbiamo chiesto soluzioni alternative."
Daichi M.
Independent Software Vendor
"I clienti ci inviano export EML notturni dai loro tenant Exchange aziendali. La nostra pipeline worker unisce ogni thread in un PDF con stampigliatura Bates per cartella di pratica. -Recurse -kfs preserva la gerarchia delle cartelle della casella postale lato output, -HeadText/-FootText applica l'etichetta della pratica e la paginazione sia alle pagine del messaggio sia a quelle degli allegati. Deterministico tra le esecuzioni, cosa che conta per la revisione legale. La CLI è stabile e ben documentata."
Aleksandra W.
Lead .NET Developer at a corporate-archive provider
Total Mail Converter Pro X include MailConverterX.exe, un binario console che puoi pilotare da script, attività pianificate, worker di archivio mail o qualsiasi servizio backend. Ciò che distingue la variante Pro è lo switch -docs: invece di limitarsi a salvare gli allegati accanto all'email, Pro converte documenti Word, fogli di calcolo, immagini e altri allegati nel formato di destinazione e li unisce nello stesso file di output del corpo del messaggio. Il set di flag corrisponde alla GUI MailConverter.exe; per il riferimento completo consulta la documentazione da riga di comando. Le ricette qui sotto si concentrano su scenari di gestione allegati che solo l'edizione Pro supporta.
Il workflow Pro per eccellenza. -docs dice al convertitore di renderizzare ogni allegato supportato in PDF; con -sdocs:off implicito (default), tutte le pagine renderizzate vengono accodate al PDF del messaggio. Il destinatario apre un file e vede l'email più ogni allegato Word, Excel, immagine e PDF in ordine di lettura.
MailConverterX.exe "C:\mail\incoming\*.msg" "C:\out\" -cPDF -attach -docs
Stessa conversione, ma -sdocs scrive ogni allegato convertito come PDF a sé accanto al PDF del messaggio invece di unirli. Utile quando i sistemi a valle indicizzano gli allegati individualmente.
MailConverterX.exe "C:\mail\export\*.eml" "C:\out\" -cPDF -attach -docs -sdocs
Dopo aver esportato un PST Outlook in file MSG, il risultato è un albero di cartelle profondo che rispecchia la mailbox originale. -Recurse attraversa ogni sottocartella; -kfs mantiene la stessa struttura lato output così Inbox, Sent Items e cartelle personalizzate restano separate.
MailConverterX.exe "C:\pst-export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs -attach -docs
Per la revisione legale serve ogni intestazione, ogni campo destinatario e una traccia di cosa era allegato — anche quando un allegato non si è potuto convertire. -iattach scrive i metadati degli allegati (nome file, dimensione, MIME type) nel documento; -rfcheaders include le intestazioni di trasporto RFC-822 grezze; -uattach scompatta gli allegati ZIP così anche i loro contenuti vengono convertiti.
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
Utile per consegne in singolo deliverable: un PDF contenente ogni messaggio e ogni allegato convertito in ordine cronologico. -combine unisce tutti i file sorgente in un unico documento; -sort date li ordina per data del messaggio.
MailConverterX.exe "C:\mail\ProjectAcme\*.eml" "C:\out\ProjectAcme-archive.pdf" -cPDF -combine -sort date -attach -docs
Quando email più allegati lasciano l'azienda, blocca l'output. -mp imposta la password proprietario (controlla i permessi), -up imposta la password utente (richiesta per aprire) e -perm concede esattamente le operazioni che il destinatario può eseguire.
MailConverterX.exe "C:\mail\confidential\*.msg" "C:\out\" -cPDF -attach -docs -mp "owner-secret" -up "client-pwd" -perm Copy -pc Maximum
Quando il PDF unito porta corpo email e allegati convertiti, un'intestazione/piè di pagina applicato in fase di conversione etichetta ogni pagina in modo coerente — equivalente a un timbro stile Bates su tutto il pacchetto. I campi metadati PDF rendono il file auto-descrittivo nei sistemi di gestione documentale.
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"
Per i flussi di records-management il PDF email-più-allegati unito deve essere conforme a ISO 19005 (PDF/A) e firmato digitalmente con un certificato organizzativo. -pdfa abilita la modalità PDF/A; -PFXFile + -PFXPass firmano il file con un certificato 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"
I nomi file predefiniti derivano dal file sorgente. -template ti permette di comporre i nomi a partire dai metadati del messaggio — data, mittente, oggetto — che è ciò che gli archivi e gli strumenti di case-management di solito vogliono. -atemplate controlla i nomi degli allegati salvati separatamente quando -sdocs è attivo.
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]"
Una volta che MailConverterX.exe gira come servizio o job pianificato, l'unico segnale che hai è il log. -verbosity detail scrive una riga per messaggio e per allegato; -logmode append mantiene la storia tra le esecuzioni; -list legge la coda da un file di testo prodotto da un worker invece che dalla riga di comando; -fo sovrascrive l'output precedente senza chiedere.
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
Aggiornato Tue, 05 May 2026
(solo $1900.00)
-docs. Con -docs il convertitore renderizza ogni allegato supportato (Word, Excel, PowerPoint, immagini, PDF) nel formato di destinazione e lo unisce nello stesso documento di output insieme al corpo dell'email, oppure lo salva come documento separato a fianco (-sdocs). Mail Converter X standard salva invece gli allegati solo nei loro tipi di file originali accanto all'email. Pro è la scelta giusta per e-discovery, conservazione dei record e qualsiasi flusso di lavoro in cui il risultato finale è un singolo PDF autoconsistente per ogni thread di email.new COM("MailConverterPro.MailConverterX") in PHP, new MailConverterX() in .NET (dopo aver registrato l'ActiveX Pro), win32com.client.Dispatch("MailConverterPro.MailConverterX") in Python, WIN32OLE.new('MailConverterPro.MailConverterX') in Ruby. In alternativa, il binario a riga di comando MailConverterX.exe può essere invocato da qualsiasi processo, scheduler o script di shell. È disponibile anche lo streaming PDF diretto tramite ConvertToStream per le risposte web ASP/PHP.-uattach in modo che anche il loro contenuto venga convertito. I tipi di allegato non supportati vengono annotati nel log e ignorati senza interrompere il messaggio.-pdfa per la conformità ISO 19005 (PDF/A), poi -PFXFile "C:\certs\acme.pfx" -PFXPass "cert-pwd" per firmare digitalmente con un certificato X.509 aziendale. -SignLoc, -SignCon e -SignRes allegano i metadati della firma. Combinato con -rfcheaders per la conservazione delle intestazioni di trasporto e -iattach per l'indicizzazione degli allegati, copre l'intero scenario di archiviazione documentale richiesto dai settori regolamentati.-IgnoreInvalidSource impedisce che un singolo file sorgente difettoso interrompa l'intero batch. -msuccess e -merror instradano i file sorgente elaborati e quelli falliti in cartelle separate. L'input tramite file di coda -list più -log -verbosity detail scrive una riga strutturata per ogni messaggio e per ogni allegato, pronta per l'ingestione da parte di un aggregatore di log.Scarica la versione di prova e converti i tuoi file in pochi minuti.
Non è richiesta carta di credito o email.
Docker docker run -p 5000:5000 tdhster/mailconverter-api