Konwertuj pliki MSG i EML na web-serwery
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Mail Converter Pro X to serwerowy SDK, który konwertuje wiadomości MSG i EML do formatów PDF, PDF/A, DOC, RTF, TXT, HTML, TIFF i JPEG — z załącznikami renderowanymi do tego samego formatu docelowego i scalonymi w jeden plik wynikowy, bez konieczności instalacji Microsoft Outlook na serwerze. Działa w trybie headless: bez interfejsu graficznego, bez okien dialogowych, bez wyskakujących komunikatów. Total Mail Converter Pro X dostarczany jest zarówno z plikiem binarnym wiersza poleceń, jak i interfejsem ActiveX/COM, dzięki czemu integruje się z ASP, PHP, .NET, Python, Ruby, Java oraz dowolnym innym backendem obsługującym COM.
Tym, co odróżnia wariant Pro od zwykłej edycji X, jest przełącznik -docs. Po włączeniu -docs każdy obsługiwany załącznik — dokumenty Word, arkusze kalkulacyjne, obrazy, pliki PDF — jest konwertowany do tego samego formatu docelowego (np. PDF) i albo scalany z plikiem PDF wiadomości, albo zapisywany jako oddzielne dokumenty obok niego. Odbiorca otwiera jeden plik i widzi treść wiadomości oraz wszystkie załączniki w kolejności czytania. Obsługiwane wejściowe typy załączników:
-uattach
Poza konwersją załączników Total Mail Converter Pro X obsługuje pełny scenariusz e-discovery i archiwizacji dokumentów: wynik PDF/A (-pdfa), podpisywanie cyfrowe certyfikatami X.509 (-PFXFile/-PFXPass), dołączanie nagłówków transportu RFC-822 (-rfcheaders), indeksowanie metadanych załączników (-iattach), stemplowanie nagłówków/stopek w stylu Bates w scalonym dokumencie, pliki PDF chronione hasłem z flagami uprawnień oraz rekursywne przetwarzanie folderów odzwierciedlające pierwotną strukturę skrzynki pocztowej (-Recurse -kfs).
Wysoka prędkość konwersji i przetwarzanie wsadowe sprawiają, że proces jest prosty i bezproblemowy — dziesiątki tysięcy wiadomości z załącznikami w trakcie nocnego uruchomienia to norma. Wypróbuj bezpłatnie (30-dniowy okres próbny, bez ograniczeń) i przekonaj się, że naprawdę warto zainwestować.
Niektóre z aktualnie obsługiwanych konwersji formatów plików:
|
|
|
(zawiera 30-dniowy DARMOWY okres próbny)
(tylko $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;
"Jesteśmy bardzo zadowoleni z Total Mail Converter Pro. Użyliśmy go do skonwertowania około 20 tysięcy wiadomości do PDF; istotna była dla nas zdolność konwertowania załączników wiadomości do docelowego pliku PDF. Podczas konwersji 20 tysięcy wiadomości tylko około kilkanaście nie powiodło się z powodu nieczytelnych załączników. Nasza sugestia ulepszenia: gdy załącznik się nie powiedzie, nie pomijać całego pliku wiadomości, lecz konwertować pozostałe załączniki i ukończyć PDF bez tego jednego wadliwego załącznika. Tak trzymać."
Manuel Schlief
www.darag.de
"Zajmujemy się e-discovery dla zewnętrznych kancelarii prawnych. Klienci przesyłają eksporty PST; nasz potok zamienia każdy plik PST w jeden PDF na sprawę, każdą wiadomość plus każdy skonwertowany załącznik w kolejności czytania, z zachowanymi nagłówkami RFC. Total Mail Converter Pro X z opcjami -docs -iattach -rfcheaders to nasz silnik. Około 8 000 wiadomości na godzinę na naszym sprzęcie, włącznie z renderowaniem załączników DOCX/XLSX. Pięć lat na produkcji, żadnych awarii, które moglibyśmy przypisać konwerterowi."
Henrik J.
Senior Backend Developer at a legal-tech vendor
"Archiwa komunikacji z pacjentami muszą trafić do naszego systemu zarządzania dokumentami jako PDF/A z podpisami cyfrowymi X.509 — wymóg zachowania łańcucha dowodowego HIPAA. -pdfa plus -PFXFile/-PFXPass plus -SignLoc/-SignCon/-SignRes pokrywa cały scenariusz podpisywania w jednym wywołaniu binarium. Zastąpiliśmy potok Java/iText, który wymagał trzech oddzielnych bibliotek do uzyskania tego samego wyniku. Tryb headless na Windows Server Core, bez Outlooka, bez niespodzianek."
Renata B.
DevOps Engineer at a healthcare records platform
"Włączyliśmy Total Mail Converter Pro X do naszego produktu archiwizacji zgodności w ramach licencji Royalty-Free. Jednorazowa opłata za projekt stanowiła ułamek kosztu, jaki musielibyśmy ponieść za stos Aspose.Email plus Aspose.Words plus Aspose.PDF. Nasz instalator dostarcza i rejestruje ActiveX, nasza aplikacja wywołuje go bezpośrednio, użytkownicy końcowi widzą tylko nasz interfejs. Ograniczenie 32-bitowego ActiveX kosztowało nas kilka dni przebudowy potoku, ale wsparcie odpowiadało szybko, gdy pytaliśmy o obejścia."
Daichi M.
Independent Software Vendor
"Klienci przesyłają nam nocne eksporty EML ze swoich firmowych dzierżaw Exchange. Nasz potok roboczy scala każdy wątek w jeden ostemplowany Bates plik PDF na folder sprawy. -Recurse -kfs zachowuje hierarchię folderów skrzynki pocztowej po stronie wynikowej, -HeadText/-FootText nakłada etykietę sprawy i numerację stron zarówno na stronach wiadomości, jak i załączników. Deterministyczne między uruchomieniami, co ma znaczenie przy przeglądzie prawnym. CLI jest stabilne i dobrze udokumentowane."
Aleksandra W.
Lead .NET Developer at a corporate-archive provider
Total Mail Converter Pro X jest dostarczany z plikiem MailConverterX.exe, binarnym narzędziem konsolowym, które możesz uruchamiać ze skryptów, zaplanowanych zadań, robotników archiwum poczty lub dowolnej usługi backendowej. Co odróżnia wariant Pro to przełącznik -docs: zamiast tylko zapisywać załączniki obok e-maila, Pro konwertuje dokumenty Word, arkusze kalkulacyjne, obrazy i inne załączniki do formatu docelowego i scala je w ten sam plik wyjściowy co treść wiadomości. Zestaw flag jest zgodny z GUI MailConverter.exe; pełną dokumentację znajdziesz w dokumentacji wiersza poleceń. Poniższe przepisy skupiają się na scenariuszach obsługi załączników, które obsługuje tylko edycja Pro.
Sztandarowy przepływ pracy Pro. -docs mówi konwerterowi, aby renderował każdy obsługiwany załącznik do PDF; przy ukrytym -sdocs:off (domyślne), wszystkie wyrenderowane strony są dołączane do PDF wiadomości. Odbiorca otwiera jeden plik i widzi e-mail plus każdy załącznik Word, Excel, obraz i PDF w kolejności czytania.
MailConverterX.exe "C:\mail\incoming\*.msg" "C:\out\" -cPDF -attach -docs
Ta sama konwersja, ale -sdocs zapisuje każdy przekonwertowany załącznik jako własny PDF obok PDF-u wiadomości zamiast łączyć je. Przydatne, gdy systemy downstream indeksują załączniki indywidualnie.
MailConverterX.exe "C:\mail\export\*.eml" "C:\out\" -cPDF -attach -docs -sdocs
Po wyeksportowaniu PST Outlook do plików MSG wynikiem jest głębokie drzewo folderów odzwierciedlające oryginalną skrzynkę. -Recurse przemierza każdy podfolder; -kfs zachowuje tę samą strukturę po stronie wyjścia, więc Inbox, Sent Items i niestandardowe foldery pozostają oddzielone.
MailConverterX.exe "C:\pst-export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs -attach -docs
Do przeglądu prawnego potrzebujesz każdego nagłówka, każdego pola odbiorcy i zapisu tego, co było załączone — nawet gdy załącznika nie udało się przekonwertować. -iattach pisze metadane załącznika (nazwa pliku, rozmiar, typ MIME) do dokumentu; -rfcheaders obejmuje surowe nagłówki transportowe RFC-822; -uattach rozpakowuje załączniki ZIP-owane, aby ich zawartość również była przekonwertowana.
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
Przydatne dla przekazania jednoplikowej dostawy: jeden PDF zawierający każdą wiadomość i każdy przekonwertowany załącznik w kolejności chronologicznej. -combine łączy wszystkie pliki źródłowe w jeden dokument; -sort date układa je według daty wiadomości.
MailConverterX.exe "C:\mail\ProjectAcme\*.eml" "C:\out\ProjectAcme-archive.pdf" -cPDF -combine -sort date -attach -docs
Gdy e-maile plus załączniki opuszczają firmę, zablokuj wyjście. -mp ustawia hasło właściciela (kontroluje uprawnienia), -up ustawia hasło użytkownika (wymagane do otwarcia), a -perm przyznaje dokładnie te operacje, na które pozwala odbiorca.
MailConverterX.exe "C:\mail\confidential\*.msg" "C:\out\" -cPDF -attach -docs -mp "owner-secret" -up "client-pwd" -perm Copy -pc Maximum
Gdy zlany PDF zawiera treść e-maila i przekonwertowane załączniki, nagłówek/stopka zastosowane w czasie konwersji etykietuje każdą stronę spójnie — odpowiednik stempla w stylu Bates w całym pakiecie. Pola metadanych PDF czynią plik samoopisującym w systemach zarządzania dokumentami.
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"
Dla procesów zarządzania dokumentacją zlany PDF email-plus-załączniki musi być zgodny z ISO 19005 (PDF/A) i podpisany cyfrowo certyfikatem organizacyjnym. -pdfa włącza tryb PDF/A; -PFXFile + -PFXPass podpisują plik certyfikatem 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"
Domyślne nazwy plików są wyprowadzane z pliku źródłowego. -template pozwala komponować nazwy z metadanych wiadomości — daty, nadawcy, tematu — co zwykle chcą archiwa i narzędzia zarządzania sprawami. -atemplate kontroluje nazwy oddzielnie zapisanych załączników, gdy -sdocs jest włączone.
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]"
Gdy MailConverterX.exe działa jako usługa lub zaplanowane zadanie, jedynym sygnałem, jaki masz, jest log. -verbosity detail pisze jedną linię na wiadomość i na załącznik; -logmode append zachowuje historię między uruchomieniami; -list czyta kolejkę z pliku tekstowego wytworzonego przez robotnika zamiast z wiersza poleceń; -fo nadpisuje poprzednie wyjście bez monitowania.
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
Zaktualizowano Tue, 05 May 2026
(tylko $1900.00)
-docs. Z opcją -docs konwerter renderuje każdy obsługiwany załącznik (Word, Excel, PowerPoint, obrazy, PDF) do formatu docelowego i scala je z tym samym dokumentem wynikowym co treść wiadomości lub zapisuje je jako oddzielne dokumenty obok niego (-sdocs). Zwykły Mail Converter X zapisuje załączniki wyłącznie jako ich oryginalne typy plików obok wiadomości. Pro to właściwy wybór do e-discovery, archiwizacji dokumentów i każdego przepływu pracy, w którym dostarczanym wynikiem jest jeden samodzielny plik PDF na wątek e-mail.new COM("MailConverterPro.MailConverterX") w PHP, new MailConverterX() w .NET (po zarejestrowaniu Pro ActiveX), win32com.client.Dispatch("MailConverterPro.MailConverterX") w Pythonie, WIN32OLE.new('MailConverterPro.MailConverterX') w Ruby. Alternatywnie można wywołać plik binarny wiersza poleceń MailConverterX.exe z dowolnego procesu, harmonogramu lub skryptu powłoki. Dostępne jest również bezpośrednie strumieniowanie PDF za pomocą ConvertToStream dla odpowiedzi webowych ASP/PHP.-uattach, dzięki czemu ich zawartość również zostaje skonwertowana. Nieobsługiwane typy załączników są odnotowywane w dzienniku i pomijane bez przerywania wiadomości.-pdfa, aby zapewnić zgodność z normą ISO 19005 (PDF/A), a następnie -PFXFile "C:\certs\acme.pfx" -PFXPass "cert-pwd", aby podpisać cyfrowo organizacyjnym certyfikatem X.509. -SignLoc, -SignCon i -SignRes dołączają metadane podpisu. W połączeniu z -rfcheaders dla zachowania nagłówków transportu i -iattach dla indeksowania załączników, pokrywa to pełny scenariusz archiwizacji dokumentów wymagany przez branże regulowane.-IgnoreInvalidSource zapobiega temu, by jeden uszkodzony plik źródłowy przerwał całą partię. -msuccess i -merror kierują przetworzone i nieudane pliki źródłowe do oddzielnych folderów. Wejście kolejki -list w połączeniu z -log -verbosity detail zapisuje jedną ustrukturyzowaną linię na wiadomość i na załącznik, gotową do pobrania przez agregator dzienników.Pobierz wersję próbną i konwertuj pliki w kilka minut.
Nie jest wymagana karta kredytowa ani e-mail.
Docker docker run -p 5000:5000 tdhster/mailconverter-api