Converti Email tramite web-server
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Mail Converter X è un SDK lato server che converte email MSG, EML e MBOX in PDF, DOC, RTF, HTML, XHTML, TXT, TIFF, JPEG, EML, MSG e PST — senza Microsoft Outlook, MAPI o alcun Office Interop sul server. Funziona in modalità silenziosa: nessuna GUI, nessuna finestra di dialogo, nessun popup. Total Mail Converter X include sia un binario da 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.
Cosa fa questa variante Standard:
-atemplate; gli allegati ZIP vengono estratti con -uattach
-HeadText / -FootText) per l'e-discovery legale
-mp, -up, -perm)
-rfcheaders)
-Recurse + -kfs per l'elaborazione dell'intero albero della casella di posta
Standard vs Pro X: l'edizione Standard salva gli allegati nei loro tipi di file originali accanto al PDF dell'email. La versione Pro con -docs converte gli allegati (DOCX, XLSX, immagini, PDF) nel formato di destinazione e li unisce nello stesso file di output del corpo del messaggio. Scegli Standard per l'archiviazione semplice della casella di posta; scegli Pro per i deliverable di e-discovery in cui l'output è un singolo PDF autonomo per ogni thread di email.
Provalo gratuitamente (periodo di prova di 30 giorni, senza limitazioni) e scopri che vale davvero il suo prezzo.
Alcune delle conversioni di formato file attualmente supportate:
|
|
|
(incluso un periodo di prova GRATUITO di 30 giorni)
(solo $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;
"Lavoro per Freeland Cooper & Foreman LLP e attualmente sto gestendo il progetto per il quale abbiamo acquistato Total Mail Converter X. Abbiamo acquistato il programma allo scopo di unire grandi quantità di file .msg in formato .pst, e finora sono molto soddisfatto dei risultati; è affidabile, altamente funzionale e facile da usare."
Max Canin
www.freelandlaw.com
"Utilizziamo SharePoint come libreria di documenti e vi accediamo tramite UNC. Uso Total Mail Converter X per archiviare i messaggi email. Uso la riga dell'oggetto come parte del nome file risultante, ma questo presenta un problema: SharePoint non consente determinati caratteri nei nomi dei file. Mi chiedevo se fosse possibile aggiungere un'opzione da riga di comando per rimuovere i caratteri non sicuri da utilizzare nei percorsi UNC di SharePoint."
Shane Adam
Systems Analyst & Developer, http://eigltd.com
"Archiviamo le esportazioni delle caselle di posta dei dipendenti in uscita. I clienti ci inviano dump PST/MBOX; la nostra pipeline trasforma ognuno di essi in una cartella di PDF autonomi con le intestazioni RFC-822 complete conservate per la revisione forense. Total Mail Converter X con -Recurse -kfs -rfcheaders -combine è il motore. Sei anni in produzione, throughput di circa 5.000 messaggi all'ora sul nostro hardware. Nessun Outlook in nessuna parte della pipeline."
Bartosz K.
Senior Backend Developer at a compliance-archive vendor
"I ticket allegano file EML; il team di supporto ha bisogno di copie PDF per la traccia del ticket. Total Mail Converter X più Total Folder Monitor: i ticket depositano EML in una cartella inbox, il convertitore li elabora, lo strumento di supporto preleva i PDF. Numerazione delle pagine in stile Bates pulita grazie a -HeadText/-FootText, nessun intervento manuale. Headless su Windows Server Core, nessun Outlook, nessuna sorpresa di licenza."
Soledad O.
DevOps Engineer at a customer-support SaaS
"Abbiamo integrato Total Mail Converter X nel nostro prodotto di gestione documentale con la Royalty-Free License. La tariffa una tantum per progetto era una frazione di quanto Aspose.Email chiedeva con un abbonamento per sviluppatore. Il nostro installer distribuisce e registra l'ActiveX, la nostra app lo chiama direttamente, gli utenti finali vedono solo la nostra UI. La limitazione ActiveX a 32 bit ci è costata un paio di giorni di rielaborazione della pipeline, ma il supporto è stato reattivo quando abbiamo chiesto soluzioni alternative."
Niko T.
Independent Software Vendor
Total Mail ConverterX include MailConverterX.exe, un binario console che puoi pilotare da script, attività pianificate, worker di archivio mail o qualsiasi servizio backend. Il set di flag corrisponde alla GUI MailConverter.exe; per il riferimento completo consulta la documentazione da riga di comando. Le ricette qui sotto coprono i casi che sentiamo più spesso dai clienti SDK che lavorano con caselle MSG, EML e MBOX.
La chiamata più semplice possibile — un messaggio Outlook in entrata, un PDF in uscita.
MailConverterX.exe "C:\mailbox\invoice.msg" "C:\out\invoice.pdf" -cPDF
Elabora un'intera cartella di file EML esportati da Thunderbird, Apple Mail o qualsiasi client IMAP e rilascia i PDF in una directory di output adiacente.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF
Sostituisci la maschera con *.msg o *.mbox per scegliere un formato sorgente diverso, oppure -cDOC / -cTXT / -cTIFF per scegliere un target diverso.
Un'esportazione Outlook raramente vive in una cartella piatta — di solito ottieni Inbox, Sent, Archive e dozzine di sottocartelle. -Recurse attraversa le sottodirectory; -kfs ricrea lo stesso albero lato output invece di appiattire tutto in un unico bucket.
MailConverterX.exe "C:\export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs
Per e-discovery e fascicoli di solito vuoi un PDF per pratica, non uno per email. -combine unisce i messaggi corrispondenti in un unico PDF nell'ordine dei file sorgente; -sort date li dispone cronologicamente.
MailConverterX.exe "C:\cases\Acme\*.eml" "C:\out\Acme-thread.pdf" -cPDF -combine -sort date
L'edizione Standard converte il corpo dell'email e scrive gli allegati originali su disco accanto al documento di output. -attach attiva l'estrazione degli allegati; -atemplate controlla il pattern dei nomi file degli allegati.
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -attach -atemplate "[mail]_[attach_index]_[attach]"
Aggiungi -uattach per scompattare automaticamente gli allegati ZIP, oppure -images per incorporare immagini inline direttamente nel corpo PDF.
Per default ogni campo di intestazione viene esportato. Per produrre un PDF pulito pronto per la stampa che mostri solo From, Date e Subject — niente CC, niente BCC, niente intestazioni di trasporto — disattiva esplicitamente i campi indesiderati.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -sender -date -subject -cc:off -bcc:off -rcpt:off
Aggiungi -rfcheaders se invece hai bisogno delle intestazioni di trasporto RFC-822 complete preservate per revisione forense.
Timbratura in stile Bates per consegne in contenzioso: un piè di pagina con un numero di pagina progressivo su ogni pagina, più un'intestazione con la data di produzione. [page] e [date] sono i placeholder integrati.
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
Standard per inviare corrispondenza privilegiata alla controparte: una password proprietario blocca i permessi di modifica/stampa, una password utente regola l'apertura del file e -perm concede esattamente i diritti che permetti.
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Copy
Una volta che MailConverterX.exe gira come servizio o job pianificato, l'unico modo per sapere cosa è successo è il log. -verbosity detail scrive una riga per file; -logmode append mantiene la storia tra le esecuzioni; -fo sovrascrive l'output precedente silenziosamente invece di fermarsi alle collisioni.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -log "C:\logs\mailconv.log" -verbosity detail -logmode append -fo
Quando un worker di archivio mail scrive un file di coda e il convertitore lo consuma, non vuoi codificare i percorsi file nella riga di comando stessa. -list legge le maschere file (una per riga) da un file di testo.
MailConverterX.exe -list "C:\queues\mail-batch.txt" "C:\out\" -cPDF -log "C:\logs\mailconv.log"
Aggiornato Tue, 05 May 2026
(solo $950.00)
-docs, che converte ogni allegato supportato (Word, Excel, PowerPoint, immagini, PDF) nel formato di destinazione e li unisce nello stesso PDF di output del corpo dell'email. Scegli Standard per l'archiviazione semplice della casella di posta; scegli Pro per i deliverable di e-discovery in cui l'output è un singolo PDF autonomo per ogni thread di email.new COM("MailConverter.MailConverterX") in PHP, new MailConverterX() in .NET, win32com.client.Dispatch("MailConverter.MailConverterX") in Python, WIN32OLE.new('MailConverter.MailConverterX') in Ruby. In alternativa, il binario da riga di comando MailConverterX.exe può essere richiamato da qualsiasi processo, scheduler o script di shell. È disponibile anche lo streaming PDF diretto tramite ConvertToStream per le risposte web ASP/PHP.-c <FORMATO> per scegliere la destinazione.-attach per abilitare l'estrazione degli allegati. Per impostazione predefinita gli allegati finiscono nella stessa cartella del PDF di output. Usa -atemplate "[mail]_[attach_index]_[attach]" per definire un modello di denominazione personalizzato basato sui metadati del messaggio e dell'allegato. Aggiungi -uattach per estrarre automaticamente gli allegati ZIP in modo che il loro contenuto venga salvato insieme al resto. Aggiungi -images per incorporare le immagini inline direttamente nel corpo del PDF anziché salvarle come file.-mp "owner-pwd" imposta la password proprietario (controlla i permessi); -up "user-pwd" blocca l'apertura del file; -perm accetta qualsiasi combinazione di Print, HighResPrint, Copy, Modify, Annotation, FormFill. Per la marcatura Bates usa -HeadText/-FootText con i segnaposto [page], [date], [time] e -HeadAlign/-FootAlign per posizionare il testo. Combinato con -combine -sort date questo produce un singolo PDF con marcatura Bates per un intero thread di posta.Scarica la versione di prova e converti i tuoi file in pochi minuti.
Non è richiesta carta di credito o email.
Contattaci. Saremo lieti di migliorare il nostro convertitore di posta affinché si adatti perfettamente alle tue esigenze. La personalizzazione è spesso gratuita per i nostri clienti.
Docker docker run -p 5000:5000 tdhster/mailconverter-api