حوِّل رسائل البريد الإلكتروني عبر خوادم الويب
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Mail Converter X هو SDK يعمل من جانب الخادم لتحويل رسائل البريد بصيغ MSG وEML وMBOX إلى PDF وDOC وRTF وHTML وXHTML وTXT وTIFF وJPEG وEML وMSG وPST — بدون Microsoft Outlook أو MAPI أو أي مكوّن Office Interop على الخادم. يعمل بصمت تام: بلا واجهة رسومية، بلا مربعات حوار، بلا نوافذ منبثقة. يأتي Total Mail Converter X مع برنامج سطر الأوامر وواجهة ActiveX/COM، فيندمج مباشرة مع ASP وPHP و.NET وPython وRuby وJava وأي خادم خلفي يدعم COM.
ما الذي يقدمه هذا الإصدار القياسي (Standard):
-atemplate؛ وفك ضغط مرفقات ZIP باستخدام -uattach
-HeadText / -FootText) للاكتشاف الإلكتروني القانوني
-mp, -up, -perm)
-rfcheaders)
-Recurse + -kfs لمعالجة شجرة صندوق البريد بالكامل
الإصدار القياسي مقابل Pro X: يحفظ الإصدار القياسي المرفقات بأنواع ملفاتها الأصلية بجوار ملف PDF للبريد. أما إصدار Pro مع -docs فيقوم بتحويل المرفقات (DOCX, XLSX, الصور, PDFs) إلى الصيغة الهدف ودمجها في نفس ملف الإخراج مع نص الرسالة. اختر القياسي للأرشفة العادية لصناديق البريد؛ واختر Pro لتسليمات الاكتشاف الإلكتروني حيث يكون الناتج ملف PDF واحد قائم بذاته لكل سلسلة بريد.
جرّبه مجاناً (فترة تجريبية لمدة 30 يوماً، بدون أي قيود) واكتشف أنه يستحق ثمنه فعلاً.
بعض تحويلات الصيغ المدعومة حالياً:
|
|
|
(يتضمن تجربة مجانية لمدة 30 يومًا)
(فقط $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;
"أعمل لدى 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؛ ويحوّل خط الأنابيب لدينا كل واحد منها إلى مجلد من ملفات PDF القائمة بذاتها مع الحفاظ على رؤوس RFC-822 الكاملة لأغراض المراجعة الجنائية. المحرك هو Total Mail Converter X مع -Recurse -kfs -rfcheaders -combine. ست سنوات في الإنتاج، بمعدل نحو 5,000 رسالة في الساعة على أجهزتنا. لا وجود لـ Outlook في أي مكان من خط الأنابيب."
Bartosz K.
Senior Backend Developer at a compliance-archive vendor
"تذاكر الدعم تتضمن ملفات EML كمرفقات؛ ويحتاج فريق الدعم إلى نسخ PDF لسجل التذكرة. Total Mail Converter X مع Total Folder Monitor: التذاكر تُسقِط ملفات EML في مجلد بريد، فيقوم المحول بمعالجتها، ثم يلتقط نظام الدعم ملفات PDF. أرقام صفحات نظيفة بأسلوب Bates بفضل -HeadText/-FootText، دون أي تدخل يدوي. يعمل بدون واجهة على Windows Server Core، بلا Outlook، بلا مفاجآت ترخيصية."
Soledad O.
DevOps Engineer at a customer-support SaaS
"ضمّنّا Total Mail Converter X في منتج إدارة السجلات الخاص بنا بموجب رخصة Royalty-Free. كانت رسوم المشروع الواحد لمرة واحدة جزءاً ضئيلاً مما طلبته Aspose.Email على أساس اشتراك لكل مطور. مثبّتنا يشحن ويسجّل ActiveX، وتطبيقنا يستدعيه مباشرة، فلا يرى المستخدمون النهائيون سوى واجهتنا. كلّفنا قيد ActiveX على نظام 32-بت بضعة أيام من إعادة هيكلة خط الأنابيب، لكن الدعم كان متجاوباً عندما سألنا عن الحلول البديلة."
Niko T.
Independent Software Vendor
يأتي Total Mail ConverterX مع MailConverterX.exe، وهو ملف ثنائي يعمل من وحدة التحكم يمكنك تشغيله من السكربتات أو المهام المجدولة أو عمال أرشيف البريد أو أي خدمة خلفية. تتطابق مجموعة الأعلام مع واجهة المستخدم الرسومية MailConverter.exe؛ وللاطلاع على المرجع الكامل راجع توثيق سطر الأوامر. تغطي الوصفات أدناه الحالات التي نسمع عنها أكثر من غيرها من عملاء SDK الذين يعملون مع صناديق بريد MSG وEML وMBOX.
أصغر استدعاء ممكن — رسالة Outlook واحدة داخلًا، وملف PDF واحد خارجًا.
MailConverterX.exe "C:\mailbox\invoice.msg" "C:\out\invoice.pdf" -cPDF
عالج مجلدًا كاملاً من ملفات EML المُصدَّرة من Thunderbird أو Apple Mail أو أي عميل IMAP وأسقط ملفات PDF في دليل إخراج مجاور.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF
استبدل القناع بـ *.msg أو *.mbox لاختيار صيغة مصدر مختلفة، أو -cDOC / -cTXT / -cTIFF لاختيار هدف مختلف.
نادرًا ما يعيش تصدير Outlook في مجلد واحد مسطح — عادةً تحصل على Inbox وSent وArchive وعشرات المجلدات الفرعية. يجوب -Recurse الأدلة الفرعية؛ ويُعيد -kfs إنشاء الشجرة نفسها على جانب الإخراج بدلاً من تسطيح كل شيء في دلو واحد.
MailConverterX.exe "C:\export\Mailbox\*.msg" "C:\out\Mailbox\" -cPDF -Recurse -kfs
للاكتشاف الإلكتروني وملفات الحالات، عادةً تريد 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]"
أضِف -uattach لفك ضغط مرفقات ZIP تلقائيًا، أو -images لتضمين الصور المضمنة مباشرة في نص PDF.
افتراضيًا، يتم تصدير كل حقل رأس. لإنتاج PDF نظيف جاهز للطباعة يعرض فقط From وDate وSubject — دون CC وBCC ودون رؤوس النقل — قم بإيقاف الحقول غير المرغوب فيها صراحة.
MailConverterX.exe "C:\mailbox\*.eml" "C:\out\" -cPDF -sender -date -subject -cc:off -bcc:off -rcpt:off
أضِف -rfcheaders إذا كنت بحاجة بدلاً من ذلك إلى الحفاظ على رؤوس نقل RFC-822 الكاملة للمراجعة الجنائية.
وَسم بأسلوب Bates لتسليمات التقاضي: تذييل برقم صفحة جارٍ على كل صفحة، بالإضافة إلى رأس بتاريخ الإنتاج. [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"
محدث Tue, 05 May 2026
(فقط $950.00)
-docs الذي يحوّل كل مرفق مدعوم (Word, Excel, PowerPoint, الصور, PDFs) إلى الصيغة الهدف ويدمجها في نفس ملف PDF الناتج مع نص البريد. اختر القياسي للأرشفة العادية لصناديق البريد؛ واختر Pro لتسليمات الاكتشاف الإلكتروني حيث يكون الناتج ملف PDF واحد قائم بذاته لكل سلسلة بريد.new COM("MailConverter.MailConverterX") في PHP، وnew MailConverterX() في .NET، وwin32com.client.Dispatch("MailConverter.MailConverterX") في Python، وWIN32OLE.new('MailConverter.MailConverterX') في Ruby. وبدلاً من ذلك، يمكن استدعاء برنامج سطر الأوامر MailConverterX.exe من أي عملية أو مجدول أو سكربت shell. كما يتوفر بث PDF مباشر عبر ConvertToStream لاستجابات ASP/PHP على الويب.-c <FORMAT> لاختيار الصيغة الهدف.-attach لتفعيل استخراج المرفقات. تُحفظ المرفقات في نفس مجلد ملف PDF الناتج افتراضياً. استخدم -atemplate "[mail]_[attach_index]_[attach]" لتعريف نمط تسمية مخصص يعتمد على بيانات الرسالة والمرفق. أضف -uattach لفك ضغط مرفقات ZIP تلقائياً ليتم حفظ محتوياتها بجانب الباقي. أضف -images لتضمين الصور المضمّنة مباشرة في نص PDF بدلاً من حفظها كملفات.-mp "owner-pwd" يضبط كلمة مرور المالك (تتحكم بالصلاحيات)؛ و-up "user-pwd" يحرس فتح الملف؛ و-perm يقبل أي تركيبة من Print وHighResPrint وCopy وModify وAnnotation وFormFill. لختم Bates استخدم -HeadText/-FootText مع العناصر النائبة [page] و[date] و[time] ثم -HeadAlign/-FootAlign لضبط موضع النص. ودمج ذلك مع -combine -sort date ينتج ملف PDF واحداً مختوماً بأرقام Bates لسلسلة بريد كاملة.قم بتنزيل النسخة التجريبية المجانية وحول ملفاتك في دقائق.
لا تحتاج إلى بطاقة ائتمان أو بريد إلكتروني.
اتصل بنا. سنقوم بسرور بتحسين محول البريد الخاص بنا ليتناسب تمامًا مع احتياجاتك. التخصيص غالبًا ما يكون مجانيًا لعملائنا.
دوكر docker run -p 5000:5000 tdhster/mailconverter-api