Converta e-mails por meio de servidores web
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
O Total Mail Converter X é um SDK de servidor que converte e-mails MSG, EML e MBOX para PDF, DOC, RTF, HTML, XHTML, TXT, TIFF, JPEG, EML, MSG e PST — sem o Microsoft Outlook, MAPI ou qualquer Office Interop no servidor. Funciona em silêncio: sem GUI, sem caixas de diálogo, sem janelas pop-up. O Total Mail Converter X vem com um binário de linha de comando e uma interface ActiveX/COM, integrando-se a ASP, PHP, .NET, Python, Ruby, Java e qualquer outro back-end compatível com COM.
O que esta variante Standard faz:
-atemplate; anexos ZIP descompactados com -uattach
-HeadText / -FootText) para e-discovery jurídico
-mp, -up, -perm)
-rfcheaders)
-Recurse + -kfs para processar a árvore inteira da caixa de correio
Standard vs Pro X: a edição Standard salva os anexos em seus tipos de arquivo originais ao lado do PDF do e-mail. A versão Pro com -docs renderiza os anexos (DOCX, XLSX, imagens, PDFs) no formato de destino e os mescla no mesmo arquivo de saída do corpo da mensagem. Escolha Standard para arquivamento simples da caixa de correio; escolha Pro para entregas de e-discovery em que a saída é um PDF autocontido por thread de e-mail.
Experimente gratuitamente (período de avaliação de 30 dias, sem limitações) e descubra que ele realmente vale o que custa.
Algumas das conversões de formato de arquivo atualmente suportadas:
|
|
|
(inclui 30 dias de teste GRATUITO)
(apenas $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;
"Trabalho na Freeland Cooper & Foreman LLP e atualmente conduzo o projeto para o qual compramos o Total Mail Converter X. Adquirimos o programa para mesclar grandes quantidades de arquivos .msg em formato .pst e, até agora, estou muito satisfeito com os resultados; é confiável, altamente funcional e fácil de usar."
Max Canin
www.freelandlaw.com
"Usamos o SharePoint como biblioteca de documentos e o acessamos via UNC. Eu uso o Total Mail Converter X para arquivar mensagens de e-mail. Uso a linha de assunto como parte do nome do arquivo resultante, mas isso traz um problema: o SharePoint não permite certos caracteres em nomes de arquivos. Eu gostaria que houvesse uma opção de linha de comando para remover os caracteres não seguros para uso em caminhos UNC do SharePoint."
Shane Adam
Systems Analyst & Developer, http://eigltd.com
"Arquivamos exportações de caixas de correio de funcionários que saem da empresa. Os clientes nos enviam dumps de PST/MBOX; nosso pipeline transforma cada um em uma pasta de PDFs autocontidos com cabeçalhos RFC-822 completos preservados para análise forense. O Total Mail Converter X com -Recurse -kfs -rfcheaders -combine é o motor. Seis anos em produção, throughput de cerca de 5.000 mensagens por hora em nosso hardware. Sem Outlook em qualquer parte do pipeline."
Bartosz K.
Senior Backend Developer at a compliance-archive vendor
"Os tickets anexam arquivos EML; a equipe de suporte precisa de cópias em PDF para o histórico do ticket. Total Mail Converter X mais Total Folder Monitor: os tickets soltam EML em uma pasta de entrada, o conversor processa, a ferramenta de suporte pega os PDFs. Numeração de páginas estilo Bates limpa graças a -HeadText/-FootText, sem intervenção manual. Headless no Windows Server Core, sem Outlook, sem surpresas de licenciamento."
Soledad O.
DevOps Engineer at a customer-support SaaS
"Empacotamos o Total Mail Converter X em nosso produto de gestão de registros sob a Royalty-Free License. A taxa única por projeto foi uma fração do que a Aspose.Email cobrava em uma assinatura por desenvolvedor. Nosso instalador entrega e registra o ActiveX, nosso aplicativo o chama diretamente, e os usuários finais veem apenas a nossa UI. A limitação de 32-bit do ActiveX nos custou alguns dias de retrabalho no pipeline, mas o suporte foi prestativo quando perguntamos sobre alternativas."
Niko T.
Independent Software Vendor
O Total Mail ConverterX inclui o MailConverterX.exe, um binario de console que pode ser acionado a partir de scripts, tarefas agendadas, workers de arquivo de e-mail ou qualquer servico de back-end. O conjunto de flags corresponde ao da GUI MailConverter.exe; para a referencia completa, consulte a documentacao da linha de comando. As receitas abaixo cobrem os casos sobre os quais os clientes do SDK que trabalham com caixas de correio MSG, EML e MBOX perguntam com mais frequencia.
A chamada mais simples possivel — uma mensagem do Outlook entra, um PDF sai.
MailConverterX.exe "C:\mailbox\invoice.msg" "C:\out\invoice.pdf" -cPDF
Processa toda uma pasta de arquivos EML exportados do Thunderbird, Apple Mail ou qualquer cliente IMAP e deposita os PDFs em um diretorio de saida irmao.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF
Troque a mascara por *.msg ou *.mbox para escolher um formato de origem diferente, ou -cDOC / -cTXT / -cTIFF para escolher um destino diferente.
Uma exportacao do Outlook raramente vive em uma pasta plana — voce normalmente recebe Caixa de Entrada, Itens Enviados, Arquivo Morto e dezenas de subpastas. -Recurse percorre os subdiretorios; -kfs recria a mesma arvore no lado da saida em vez de aplanar tudo em um unico balde.
MailConverterX.exe "C:\export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs
Para e-discovery e autos de processo, voce normalmente quer um PDF por caso, nao um por e-mail. -combine mescla as mensagens correspondentes em um unico PDF na ordem dos arquivos de origem; -sort date as organiza cronologicamente.
MailConverterX.exe "C:\cases\Acme\*.eml" "C:\out\Acme-thread.pdf" -cPDF -combine -sort date
A edicao Standard converte o corpo do e-mail e grava os anexos originais no disco ao lado do documento de saida. -attach ativa a extracao de anexos; -atemplate controla o padrao de nome dos arquivos de anexo.
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -attach -atemplate "[mail]_[attach_index]_[attach]"
Adicione -uattach para descompactar anexos ZIP automaticamente, ou -images para incorporar imagens inline diretamente no corpo do PDF.
Por padrao, todos os campos de cabecalho sao exportados. Para produzir um PDF limpo pronto para impressao que mostre apenas De, Data e Assunto — sem CC, sem BCC, sem cabecalhos de transporte — desligue explicitamente os campos indesejados.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -sender -date -subject -cc:off -bcc:off -rcpt:off
Adicione -rfcheaders se em vez disso voce precisar dos cabecalhos de transporte RFC-822 completos preservados para revisao forense.
Carimbo estilo Bates para entregas em litigios: um rodape com numero de pagina corrente em cada pagina, mais um cabecalho com a data de producao. [page] e [date] sao os marcadores embutidos.
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
Padrao para enviar correspondencia privilegiada a advogados adversarios: uma senha de proprietario bloqueia permissoes de edicao/impressao, uma senha de usuario controla a abertura do arquivo, e -perm concede exatamente os direitos que voce permite.
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Copy
Quando o MailConverterX.exe roda como um servico ou job agendado, a unica forma de saber o que aconteceu e o log. -verbosity detail grava uma linha por arquivo; -logmode append mantem o historico entre execucoes; -fo sobrescreve a saida anterior silenciosamente em vez de parar em colisoes.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -log "C:\logs\mailconv.log" -verbosity detail -logmode append -fo
Quando um worker de arquivo de e-mail grava um arquivo de fila e o conversor o consome, voce nao quer codificar os caminhos dos arquivos na linha de comando. -list le mascaras de arquivo (uma por linha) de um arquivo de texto.
MailConverterX.exe -list "C:\queues\mail-batch.txt" "C:\out\" -cPDF -log "C:\logs\mailconv.log"
Atualizado Tue, 05 May 2026
(apenas $950.00)
-docs, que renderiza cada anexo suportado (Word, Excel, PowerPoint, imagens, PDFs) no formato de destino e os mescla no mesmo PDF de saída do corpo do e-mail. Escolha Standard para arquivamento simples da caixa de correio; escolha Pro para entregas de e-discovery em que a saída é um PDF autocontido por thread de e-mail.new COM("MailConverter.MailConverterX") em PHP, new MailConverterX() em .NET, win32com.client.Dispatch("MailConverter.MailConverterX") em Python, WIN32OLE.new('MailConverter.MailConverterX') em Ruby. Como alternativa, o binário de linha de comando MailConverterX.exe pode ser invocado a partir de qualquer processo, agendador ou shell script. Streaming direto de PDF via ConvertToStream também está disponível para respostas web em ASP/PHP.-c <FORMATO> para selecionar o destino.-attach para habilitar a extração de anexos. Por padrão, os anexos vão para a mesma pasta do PDF de saída. Use -atemplate "[mail]_[attach_index]_[attach]" para definir um padrão de nomeação personalizado baseado nos metadados da mensagem e do anexo. Adicione -uattach para descompactar anexos ZIP automaticamente, de forma que o conteúdo seja salvo junto com o restante. Adicione -images para incorporar imagens inline diretamente no corpo do PDF em vez de salvá-las como arquivos.-mp "senha-proprietario" define a senha do proprietário (controla permissões); -up "senha-usuario" protege a abertura do arquivo; -perm aceita qualquer combinação de Print, HighResPrint, Copy, Modify, Annotation, FormFill. Para marcação Bates use -HeadText/-FootText com os marcadores [page], [date], [time] e -HeadAlign/-FootAlign para posicionar o texto. Combinado com -combine -sort date, isso gera um único PDF com marcação Bates para uma thread de e-mail inteira.Baixe a versão de teste gratuita e converta seus arquivos em minutos.
Não é necessário cartão de crédito ou email.
Entre em contato conosco . Teremos prazer em aprimorar nosso conversor de e-mail para que ele se ajuste perfeitamente às suas necessidades. A personalização geralmente é gratuita para nossos clientes.
Docker docker run -p 5000:5000 tdhster/mailconverter-api