웹 서버를 통해 이메일을 변환합니다.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Mail Converter X는 MSG, EML, MBOX 이메일을 PDF, DOC, RTF, HTML, XHTML, TXT, TIFF, JPEG, EML, MSG, PST로 변환하는 서버 측 SDK입니다 — 서버에 Microsoft Outlook, MAPI 또는 Office Interop이 전혀 필요 없습니다. 무인 모드로 실행됩니다: GUI 없음, 대화 상자 없음, 팝업 없음. Total Mail Converter X는 명령줄 바이너리와 ActiveX/COM 인터페이스를 모두 제공하므로 ASP, PHP, .NET, Python, Ruby, Java를 비롯한 모든 COM 호환 백엔드에 손쉽게 통합할 수 있습니다.
이 Standard 버전이 수행하는 작업:
-atemplate로 사용자 지정 이름 지정; -uattach로 ZIP 첨부파일 자동 압축 해제
-HeadText / -FootText)
-mp, -up, -perm)가 있는 비밀번호로 보호된 PDF
-rfcheaders)
-Recurse + -kfs
Standard와 Pro X 비교: Standard 에디션은 첨부파일을 원래 파일 형식 그대로 이메일 PDF 옆에 저장합니다. -docs 옵션을 갖춘 Pro 버전은 첨부파일(DOCX, XLSX, 이미지, PDF)을 대상 형식으로 렌더링하여 메시지 본문과 동일한 출력 파일에 병합합니다. 일반적인 메일함 보관에는 Standard를 선택하고, 출력이 이메일 스레드당 하나의 자체 포함 PDF가 되어야 하는 e-discovery 결과물에는 Pro를 선택하세요.
무료로 체험해 보세요(30일 평가판, 제한 없음) — 그만한 가치가 있다는 것을 확인하실 수 있습니다.
현재 지원되는 파일 형식 변환 일부:
|
|
|
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;
"저는 Freeland Cooper & Foreman LLP에서 일하고 있으며 현재 Total Mail Converter X를 구매한 프로젝트를 담당하고 있습니다. 다수의 .msg 파일을 .pst 형식으로 병합할 목적으로 이 프로그램을 구입했는데, 지금까지 결과에 매우 만족합니다. 안정적이고 기능이 풍부하며 사용하기 쉽습니다."
Max Canin
www.freelandlaw.com
"저희는 SharePoint를 문서 라이브러리로 사용하고 UNC를 통해 액세스합니다. 이메일 메시지를 보관하기 위해 Total Mail Converter X를 사용하고 있습니다. 결과 파일명의 일부로 제목 줄을 사용하는데, 여기서 문제가 발생합니다: SharePoint는 파일명에 특정 문자를 허용하지 않습니다. SharePoint UNC 경로에서 사용할 수 없는 문자를 제거하는 명령줄 옵션이 추가될 수 있는지 궁금합니다."
Shane Adam
Systems Analyst & Developer, http://eigltd.com
"저희는 퇴사하는 직원의 메일함 내보내기를 보관합니다. 고객은 PST/MBOX 덤프를 보내오고, 저희 파이프라인은 각각을 포렌식 검토를 위해 전체 RFC-822 헤더가 보존된 자체 포함 PDF 폴더로 변환합니다. -Recurse -kfs -rfcheaders -combine 옵션을 갖춘 Total Mail Converter X가 그 엔진입니다. 6년째 운영 중이며, 저희 하드웨어에서 시간당 약 5,000개의 메시지를 처리합니다. 파이프라인 어디에도 Outlook은 없습니다."
Bartosz K.
Senior Backend Developer at a compliance-archive vendor
"티켓에 EML 파일이 첨부되며, 지원팀은 티켓 기록을 위해 PDF 사본이 필요합니다. Total Mail Converter X와 Total Folder Monitor의 조합: 티켓이 EML을 받은편지함 폴더에 떨어뜨리면 변환기가 처리하고, 지원 도구가 PDF를 가져갑니다. -HeadText/-FootText 덕분에 깔끔한 Bates 스타일 페이지 번호가 매겨지며, 수동 개입이 필요 없습니다. Windows Server Core에서 헤드리스로 실행되며, Outlook도 없고, 라이선스 관련 놀라움도 없습니다."
Soledad O.
DevOps Engineer at a customer-support SaaS
"Total Mail Converter X를 Royalty-Free 라이선스로 저희 기록 관리 제품에 번들로 포함시켰습니다. 프로젝트당 일회성 비용은 Aspose.Email이 개발자당 구독으로 요구한 금액의 일부에 불과했습니다. 저희 설치 프로그램이 ActiveX를 배포하고 등록하며, 저희 앱이 직접 호출하고, 최종 사용자는 저희 UI만 보게 됩니다. 32비트 ActiveX 제한으로 파이프라인 재작업에 며칠이 걸렸지만, 우회 방법을 문의했을 때 지원팀의 응답이 빨랐습니다."
Niko T.
Independent Software Vendor
Total Mail ConverterX에는 MailConverterX.exe라는 콘솔 바이너리가 포함되어 있어 스크립트, 예약 작업, 메일 아카이브 워커 또는 백엔드 서비스에서 실행할 수 있습니다. 플래그 세트는 GUI MailConverter.exe와 일치합니다. 전체 참조는 명령줄 문서를 참조하세요. 아래의 예제는 MSG, EML 및 MBOX 메일박스로 작업하는 SDK 고객들이 가장 자주 묻는 사례를 다룹니다.
가장 단순한 호출 — 하나의 Outlook 메시지 입력, 하나의 PDF 출력.
MailConverterX.exe "C:\mailbox\invoice.msg" "C:\out\invoice.pdf" -cPDF
Thunderbird, Apple Mail 또는 모든 IMAP 클라이언트에서 내보낸 EML 파일의 전체 폴더를 처리하고 형제 출력 디렉터리에 PDF를 떨어뜨립니다.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF
다른 소스 형식을 선택하려면 마스크를 *.msg 또는 *.mbox로 바꾸거나, 다른 대상을 선택하려면 -cDOC / -cTXT / -cTIFF를 사용하세요.
Outlook 내보내기는 거의 한 평평한 폴더에 있지 않습니다 — 일반적으로 받은 편지함, 보낸 편지함, 아카이브, 그리고 수십 개의 하위 폴더를 얻습니다. -Recurse는 하위 디렉터리를 탐색합니다. -kfs는 모든 것을 하나의 버킷에 평평하게 만드는 대신 출력 측에서 동일한 트리를 다시 만듭니다.
MailConverterX.exe "C:\export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs
e-디스커버리 및 사례 파일의 경우 일반적으로 이메일당이 아닌 사건당 하나의 PDF를 원합니다. -combine은 일치하는 메시지를 소스 파일 순서대로 단일 PDF로 병합합니다. -sort date는 시간순으로 정렬합니다.
MailConverterX.exe "C:\cases\Acme\*.eml" "C:\out\Acme-thread.pdf" -cPDF -combine -sort date
표준 에디션은 이메일 본문을 변환하고 출력 문서 옆에 디스크에 원본 첨부 파일을 작성합니다. -attach는 첨부 파일 추출을 켭니다. -atemplate은 첨부 파일 파일명 패턴을 제어합니다.
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -attach -atemplate "[mail]_[attach_index]_[attach]"
ZIP 첨부 파일을 자동으로 압축 해제하려면 -uattach를 추가하거나, 인라인 이미지를 PDF 본문에 직접 임베드하려면 -images를 추가하세요.
기본적으로 모든 헤더 필드가 내보내집니다. From, Date, Subject만 표시되는 깨끗한 인쇄용 PDF를 생성하려면 — CC, BCC, 전송 헤더 없이 — 원하지 않는 필드를 명시적으로 끄세요.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -sender -date -subject -cc:off -bcc:off -rcpt:off
법적 검토를 위해 전체 RFC-822 전송 헤더를 보존해야 하는 경우 -rfcheaders를 추가하세요.
소송 인계를 위한 베이츠 스타일 스탬핑: 모든 페이지에 실행 페이지 번호가 있는 바닥글, 그리고 생산 날짜가 있는 머리글. [page]와 [date]는 내장된 자리 표시자입니다.
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
특권 통신을 상대측 변호사에게 보낼 때의 표준입니다: 소유자 비밀번호로 편집/인쇄 권한을 잠그고, 사용자 비밀번호로 파일 열기를 제어하며, -perm은 허용하는 권한을 정확히 부여합니다.
MailConverterX.exe "C:\mailbox\*.msg" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Copy
MailConverterX.exe가 서비스 또는 예약 작업으로 실행되면, 무슨 일이 일어났는지 알 수 있는 유일한 방법은 로그입니다. -verbosity detail은 파일당 한 줄을 작성합니다. -logmode append는 실행 간에 기록을 유지합니다. -fo는 충돌 시 중지하는 대신 이전 출력을 조용히 덮어씁니다.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -log "C:\logs\mailconv.log" -verbosity detail -logmode append -fo
메일 아카이브 워커가 큐 파일을 작성하고 변환기가 이를 사용하는 경우, 명령줄 자체에 파일 경로를 인코딩하고 싶지 않을 것입니다. -list는 텍스트 파일에서 파일 마스크(한 줄에 하나)를 읽습니다.
MailConverterX.exe -list "C:\queues\mail-batch.txt" "C:\out\" -cPDF -log "C:\logs\mailconv.log"
-docs 첨부파일 변환 엔진을 추가하여 지원되는 모든 첨부파일(Word, Excel, PowerPoint, 이미지, PDF)을 대상 형식으로 렌더링하고 이메일 본문과 동일한 출력 PDF에 병합합니다. 일반적인 메일함 보관에는 Standard를, 출력이 이메일 스레드당 하나의 자체 포함 PDF가 되어야 하는 e-discovery 결과물에는 Pro를 선택하세요.new COM("MailConverter.MailConverterX"), .NET에서는 new MailConverterX(), Python에서는 win32com.client.Dispatch("MailConverter.MailConverterX"), Ruby에서는 WIN32OLE.new('MailConverter.MailConverterX'). 또한 MailConverterX.exe 명령줄 바이너리는 모든 프로세스, 스케줄러 또는 셸 스크립트에서 호출할 수 있습니다. ASP/PHP 웹 응답을 위한 ConvertToStream을 통한 직접 PDF 스트리밍도 사용할 수 있습니다.-c <FORMAT>을 사용하세요.-attach를 전달하세요. 첨부파일은 기본적으로 출력 PDF와 동일한 폴더에 저장됩니다. 메시지 및 첨부파일 메타데이터를 기반으로 사용자 지정 이름 지정 패턴을 정의하려면 -atemplate "[mail]_[attach_index]_[attach]"를 사용하세요. ZIP 첨부파일을 자동으로 압축 해제하여 그 내용을 나머지와 함께 저장하려면 -uattach를 추가하세요. 인라인 이미지를 파일로 저장하지 않고 PDF 본문에 직접 포함하려면 -images를 추가하세요.-mp "owner-pwd"는 소유자 비밀번호(권한 제어)를 설정합니다; -up "user-pwd"는 파일 열기를 제어합니다; -perm은 Print, HighResPrint, Copy, Modify, Annotation, FormFill의 모든 조합을 허용합니다. Bates 스탬프의 경우 자리 표시자 [page], [date], [time]이 있는 -HeadText/-FootText와 텍스트를 배치하는 -HeadAlign/-FootAlign을 사용하세요. -combine -sort date와 결합하면 전체 메일 스레드에 대해 Bates 스탬프가 찍힌 단일 PDF가 생성됩니다.무료 평가판을 다운로드하고 몇 분 만에 파일을 변환하세요.
신용카드나 이메일이 필요하지 않습니다.