Convierte correos electrónicos a través de servidores web
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Mail Converter X es un SDK del lado del servidor que convierte correos MSG, EML y MBOX a PDF, DOC, RTF, HTML, XHTML, TXT, TIFF, JPEG, EML, MSG y PST — sin Microsoft Outlook, MAPI ni ningún Office Interop en el servidor. Funciona en silencio: sin GUI, sin diálogos, sin ventanas emergentes. Total Mail Converter X se entrega tanto con un binario de línea de comandos como con una interfaz ActiveX/COM, por lo que se integra en ASP, PHP, .NET, Python, Ruby, Java y cualquier otro backend compatible con COM.
Lo que hace esta variante Standard:
-atemplate; los adjuntos ZIP se descomprimen con -uattach
-HeadText / -FootText) para e-discovery legal
-mp, -up, -perm)
-rfcheaders)
-Recurse + -kfs para procesar el árbol completo del buzón
Standard frente a Pro X: la edición Standard guarda los adjuntos como sus tipos de archivo originales junto al PDF del correo. La versión Pro con -docs renderiza los adjuntos (DOCX, XLSX, imágenes, PDF) al formato de destino y los fusiona en el mismo archivo de salida que el cuerpo del mensaje. Elige Standard para archivar buzones de forma sencilla; elige Pro para entregables de e-discovery donde la salida es un único PDF autónomo por hilo de correo.
Pruébalo gratis (período de prueba de 30 días, sin limitaciones) y comprueba que realmente vale la pena.
Algunas de las conversiones de formatos de archivo soportadas actualmente:
|
|
|
(incluye 30 días de prueba GRATUITA)
(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;
"Trabajo para Freeland Cooper & Foreman LLP y actualmente estoy a cargo del proyecto para el que adquirimos Total Mail Converter X. Compramos el programa para fusionar grandes cantidades de archivos .msg en formato .pst, y hasta ahora estoy muy satisfecho con los resultados; es fiable, altamente funcional y fácil de usar."
Max Canin
www.freelandlaw.com
"Usamos SharePoint como biblioteca de documentos y accedemos a él mediante UNC. Utilizo Total Mail Converter X para archivar mensajes de correo. Empleo la línea de asunto como parte del nombre del archivo resultante, pero eso plantea un problema: SharePoint no permite ciertos caracteres en los nombres de archivo. Me preguntaba si podría añadirse una opción de línea de comandos para eliminar los caracteres no admitidos en rutas UNC de SharePoint."
Shane Adam
Systems Analyst & Developer, http://eigltd.com
"Archivamos exportaciones de buzones de empleados que dejan la empresa. Los clientes nos envían volcados PST/MBOX; nuestro pipeline convierte cada uno en una carpeta de PDF autónomos con todos los encabezados RFC-822 conservados para revisión forense. Total Mail Converter X con -Recurse -kfs -rfcheaders -combine es el motor. Seis años en producción, con un rendimiento de unos 5.000 mensajes por hora en nuestro hardware. Sin Outlook en ninguna parte del pipeline."
Bartosz K.
Senior Backend Developer at a compliance-archive vendor
"Los tickets adjuntan archivos EML; el equipo de soporte necesita copias en PDF para el rastro del ticket. Total Mail Converter X junto con Total Folder Monitor: los tickets dejan EML en una carpeta de entrada, el conversor los procesa y la herramienta de soporte recoge los PDF. Numeración de páginas estilo Bates impecable gracias a -HeadText/-FootText, sin intervención manual. Headless sobre Windows Server Core, sin Outlook, sin sorpresas de licencias."
Soledad O.
DevOps Engineer at a customer-support SaaS
"Integramos Total Mail Converter X en nuestro producto de gestión de registros bajo la Royalty-Free License. La tarifa única por proyecto fue una fracción de lo que Aspose.Email pedía en una suscripción por desarrollador. Nuestro instalador entrega y registra el ActiveX, nuestra app lo llama directamente, los usuarios finales solo ven nuestra interfaz. La limitación del ActiveX a 32 bits nos costó un par de días de retrabajo del pipeline, pero el soporte respondió con rapidez cuando preguntamos por soluciones alternativas."
Niko T.
Independent Software Vendor
Total Mail ConverterX incluye MailConverterX.exe, un binario de consola que puedes controlar desde scripts, tareas programadas, trabajadores de archivado de correo o cualquier servicio de backend. El conjunto de opciones coincide con la GUI MailConverter.exe; para la referencia completa consulta la documentación de la línea de comandos. Las recetas siguientes cubren los casos que más nos consultan los clientes con licencia SDK que trabajan con buzones MSG, EML y MBOX.
La llamada más sencilla posible — un mensaje de Outlook entra, un PDF sale.
MailConverterX.exe "C:\mailbox\invoice.msg" "C:\out\invoice.pdf" -cPDF
Procesa una carpeta entera de archivos EML exportados desde Thunderbird, Apple Mail o cualquier cliente IMAP y deja los PDFs en un directorio de salida hermano.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF
Cambia la máscara por *.msg o *.mbox para escoger un formato de origen distinto, o -cDOC / -cTXT / -cTIFF para escoger un destino distinto.
Una exportación de Outlook rara vez vive en una única carpeta plana — normalmente tienes Bandeja de entrada, Enviados, Archivo y docenas de subcarpetas. -Recurse recorre los subdirectorios; -kfs recrea el mismo árbol en el lado de salida en lugar de aplanarlo todo en un único contenedor.
MailConverterX.exe "C:\export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs
Para e-discovery y expedientes normalmente quieres un PDF por asunto, no uno por correo. -combine fusiona los mensajes coincidentes en un único PDF en orden de archivo de origen; -sort date los ordena cronológicamente.
MailConverterX.exe "C:\cases\Acme\*.eml" "C:\out\Acme-thread.pdf" -cPDF -combine -sort date
La edición Standard convierte el cuerpo del correo y escribe los adjuntos originales en disco junto al documento de salida. -attach activa la extracción de adjuntos; -atemplate controla el patrón de nombre del adjunto.
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -attach -atemplate "[mail]_[attach_index]_[attach]"
Añade -uattach para descomprimir adjuntos ZIP automáticamente, o -images para incrustar imágenes en línea directamente en el cuerpo del PDF.
Por defecto se exportan todos los campos de cabecera. Para producir un PDF limpio listo para imprimir que muestre solo De, Fecha y Asunto — sin CC, sin BCC, sin cabeceras de transporte — desactiva los campos no deseados explícitamente.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -sender -date -subject -cc:off -bcc:off -rcpt:off
Añade -rfcheaders si en cambio necesitas conservar las cabeceras de transporte RFC-822 completas para revisión forense.
Estampado tipo Bates para entregas en litigios: un pie con número de página corriente en cada página, más una cabecera con la fecha de producción. [page] y [date] son los marcadores integrados.
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
Estándar para enviar correspondencia privilegiada a la abogacía contraria: una contraseña de propietario bloquea los permisos de edición/impresión, una contraseña de usuario controla la apertura del archivo, y -perm concede exactamente los derechos que permitas.
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Copy
Una vez que MailConverterX.exe corre como servicio o tarea programada, la única forma de saber qué pasó es el registro. -verbosity detail escribe una línea por archivo; -logmode append conserva el historial entre ejecuciones; -fo sobrescribe la salida anterior en silencio en lugar de detenerse en colisiones.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -log "C:\logs\mailconv.log" -verbosity detail -logmode append -fo
Cuando un trabajador de archivado de correo escribe un archivo de cola y el convertidor lo consume, no quieres codificar las rutas en la línea de comandos. -list lee máscaras de archivo (una por línea) desde un archivo de texto.
MailConverterX.exe -list "C:\queues\mail-batch.txt" "C:\out\" -cPDF -log "C:\logs\mailconv.log"
Actualizado Tue, 05 May 2026
(solo $950.00)
-docs, que renderiza cada adjunto compatible (Word, Excel, PowerPoint, imágenes, PDF) al formato de destino y los fusiona en el mismo PDF de salida que el cuerpo del correo. Elige Standard para archivar buzones de forma sencilla; elige Pro para entregables de e-discovery donde la salida es un único PDF autónomo por hilo de correo.new COM("MailConverter.MailConverterX") en PHP, new MailConverterX() en .NET, win32com.client.Dispatch("MailConverter.MailConverterX") en Python, WIN32OLE.new('MailConverter.MailConverterX') en Ruby. Como alternativa, el binario de línea de comandos MailConverterX.exe puede invocarse desde cualquier proceso, planificador o script de shell. También está disponible el streaming directo de PDF mediante ConvertToStream para respuestas web ASP/PHP.-c <FORMATO> para elegir el destino.-attach para habilitar la extracción de adjuntos. Por defecto, los adjuntos se guardan en la misma carpeta que el PDF de salida. Usa -atemplate "[mail]_[attach_index]_[attach]" para definir un patrón de nombre personalizado basado en metadatos del mensaje y del adjunto. Añade -uattach para descomprimir automáticamente los adjuntos ZIP de modo que su contenido se guarde junto al resto. Añade -images para incrustar imágenes en línea directamente en el cuerpo del PDF en lugar de guardarlas como archivos.-mp "owner-pwd" establece la contraseña de propietario (controla los permisos); -up "user-pwd" protege la apertura del archivo; -perm acepta cualquier combinación de Print, HighResPrint, Copy, Modify, Annotation, FormFill. Para el sellado Bates usa -HeadText/-FootText con marcadores [page], [date], [time] y -HeadAlign/-FootAlign para posicionar el texto. Combinado con -combine -sort date esto produce un único PDF con sellado Bates para todo un hilo de correo.Descargue la versión de prueba y convierta sus archivos en minutos.
No se requiere tarjeta de crédito ni email.
Contáctenos. Con mucho gusto mejoraremos nuestro convertidor de correo para que se ajuste perfectamente a sus necesidades. La personalización a menudo es gratuita para nuestros clientes.
Docker docker run -p 5000:5000 tdhster/mailconverter-api