
- إضافة مرفقات عادية
- إضافة مرفقات مضمنة
- إضافة مرفقات مرجعية
- إضافة رسائل مضمنة
- حفظ جميع المرفقات إلى MSG كملفات منفصلة
مرفقات البريد الإلكتروني هي ملفات تُرسل مع رسالة البريد الإلكتروني، مما يسمح للمستخدمين بمشاركة المستندات أو الصور أو مقاطع الفيديو أو أي محتوى رقمي آخر. يُعد التعامل مع مرفقات البريد الإلكتروني بكفاءة جانبًا حيويًا من أنظمة الاتصال الحديثة، وللمطورين في C# الذين يسعون إلى حل قوي لإدارتها بسلاسة ضمن تطبيقاتهم.
واجهة برمجة التطبيقات C# .NET لإدارة مرفقات البريد الإلكتروني
للتعامل مع مرفقات البريد الإلكتروني، سنستخدم Aspose.Email for .NET، وهي واجهة برمجة تطبيقات قوية وشاملة مصممة لمطوري C# للعمل مع رسائل البريد الإلكتروني ومختلف المهام ذات الصلة ضمن تطبيقاتهم .NET. توفر مجموعة واسعة من الوظائف لإنشاء، معالجة، تحويل، وإدارة الرسائل، مما يجعلها أداة قيمة للشركات والمطورين الذين يحتاجون إلى دمج قدرات البريد الإلكتروني في تطبيقاتهم البرمجية. للاستفادة من قوة واجهة برمجة التطبيقات، قم بتنزيل ملف DLL الخاص بها أو قم بتثبيتها من NuGet.
إضافة مرفقات عادية
المرفقات العادية هي ملفات مستقلة يتم تضمينها مع رسالة البريد الإلكتروني، وعادة ما يتم عرضها كأيقونات أو روابط منفصلة ضمن المحتوى.

تسمح واجهة برمجة التطبيقات البديهية لـ Aspose.Email بإضافة مرفق عادي إلى رسالة في بضع أسطر من الشيفرة. مع الخطوات وعينة الشيفرة أدناه، ستقوم بإنشاء رسالة بريد إلكتروني نموذجية (MSG) وإضافة مرفق ملف (“document.pdf”) إليها باستخدام فئة MapiMessage في C#:
- إنشاء أو تحميل MapiMessage.
- قراءة محتويات “document.pdf” إلى مصفوفة بايت.
- إضافة المرفق باسم (“document.pdf”) والبيانات إلى مجموعة Attachments الخاصة بالرسالة.
// Create a sample MSG and add document.pdf file as attachment | |
var msg = new MapiMessage("user1@from.com", "user2@to.com", "This is subject", "This is body"); | |
var data = File.ReadAllBytes("document.pdf"); | |
msg.Attachments.Add("document.pdf", data); |
إضافة مرفقات مضمنة
المرفقات المضمنة تهدف إلى أن تُعرض داخل محتوى رسالة البريد الإلكتروني نفسها. غالبًا ما يتم استخدام ذلك لدمج الصور أو الوسائط الأخرى مباشرة في محتوى البريد الإلكتروني، مما يسمح للمستلم بعرض المحتوى دون الحاجة إلى فتح مرفق منفصل.

الصورة في محتوى الرسالة هي مرفق مضمن. تسمح واجهة برمجة التطبيقات Aspose.Email بالتحقق مما إذا كان المرفق مضمنًا قبل إجراء أي تعديلات أخرى عليه، وتوضح عينة الشيفرة أدناه كيفية تنفيذ هذه المهمة.
- تحميل رسالة البريد الإلكتروني من الملف باستخدام طريقة MapiMessage.Load().
- التكرار عبر مجموعة المرفقات الخاصة بها.
- لكل مرفق في المجموعة، طباعة أسماء العرض الخاصة بهم مع قيم بوليانية تشير إلى ما إذا كانوا مضمنين أو عاديين.
// Check if the Attachment is Inline or Regular | |
var msg = MapiMessage.Load("message.msg"); | |
foreach (var attach in msg.Attachments) | |
{ | |
Console.WriteLine($"{attach.DisplayName} : {attach.IsInline}"); | |
} |
إضافة مرفقات مرجعية
المرفقات المرجعية لا تحتوي على محتوى الملف الفعلي داخل رسالة البريد الإلكتروني. بدلاً من ذلك، تتضمن روابط لموارد خارجية، مثل الصور المستضافة على خادم ويب. عند فتح المستلم للبريد الإلكتروني، يقوم عميله أو متصفح الويب الخاص به بتحميل هذه الموارد من عناوين URL المحددة لعرض المحتوى. وبالتالي، يمكن للمستخدم إرسالها مع رابط إلى ملف مخزن في Google Drive. بدلاً من إرفاق المستند مباشرة بالرسالة، يمكنك إنشاء مرفق رابط يرتبط بالملف على Google Drive.

توضح عينة الشيفرة أدناه كيفية إنشاء رسالة مع مرفق مرجعي:
- إنشاء أو تحميل كائن MapiMessage.
- إضافة مرفق مرجعي إلى الرسالة باستخدام طريقة MapiAttachmentCollection.Add، مع توفير اسم الملف، عنوان URL للملف، عنوان URL للمجلد، واسم الموفر.
- تعيين نوع الإذن للمرفق باستخدام طريقة MapiAttachment.SetProperty لتحديد من يمكنه تحريره.
- اختياريًا، يمكنك تعيين خصائص إضافية، مثل نوع الإذن الأصلي، ما إذا كان المرفق مجلدًا، عنوان URL لنقطة نهاية الموفر، عنوان URL للمعاينة، وعنوان URL للصورة المصغرة.
- حفظ الرسالة في ملف باستخدام طريقة Save.
// Create a message | |
var msg = new MapiMessage("from@domain.com", "to@domain.com", "Outlook message file", | |
"This message with the Reference Attachment", OutlookMessageFormat.Unicode); | |
// Add reference attachment | |
msg.Attachments.Add("Document.pdf", | |
"https://drive.google.com/file/d/1HJ-M3F2qq1oRrTZ2GZhUdErJNy2CT3DF/", | |
"https://drive.google.com/drive/my-drive", | |
"GoogleDrive"); | |
//Also, you can set additional attachment properties | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentPermissionType, AttachmentPermissionType.AnyoneCanEdit); | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentOriginalPermissionType, 0); | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentIsFolder, false); | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentProviderEndpointUrl, ""); | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentPreviewUrl, ""); | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentThumbnailUrl, ""); | |
// Finally save the message | |
msg.Save(@"my.msg"); |
إضافة رسائل مضمنة
الرسائل المضمنة هي تلك التي تم تضمينها أو تعشيقها داخل رسالة بريد إلكتروني أخرى. يمكن أن تحتوي على محتواها الخاص، ومرفقات، وبيانات وصفية، وعادة ما تكون محاطة داخل جسم الرسالة أو كمرفقات للرسالة الأصلية.
يُستخدم هذا المفهوم بشكل شائع في سيناريوهات مثل إعادة توجيه أو الرد على رسائل البريد الإلكتروني، حيث يتم تضمين الرسالة الأصلية كجزء من الرسالة الجديدة. في مثل هذه الحالات، تصبح الرسالة الأصلية مدمجة داخل جسم الرسالة الجديدة مع الحفاظ على محتواها الخاص، بما في ذلك المرسل، المستلمين، الموضوع. هذه الميزة أساسية في التواصل عبر البريد الإلكتروني وتمكن المستخدمين من الحفاظ على سلسلة محادثة متماسكة أثناء تبادل الرسائل.

تقدم Aspose.Email مكونات لتنفيذ هذه الميزة. توضح عينة الشيفرة التالية مع الخطوات كيفية إضافة كائن مضمن إلى رسالة بريد إلكتروني:
- إنشاء مثيل من فئة MapiMessage.
- تحميل الرسالة الموجودة من الملف باستخدام طريقة MapiMessage.Load().
- إضافة الرسالة المحملة كمرفق إلى الرسالة التي تم إنشاؤها مسبقًا. استخدم طريقة MapiAttachmentCollection.Add لهذا الغرض.
var msg = new MapiMessage("from@test.com", "to@test.com", "Subj", "This is a message body"); | |
var attachMsg = MapiMessage.Load("Weekly report.msg"); | |
msg.Attachments.Add("Weekly report", attachMsg); |
حفظ جميع المرفقات إلى MSG كملفات منفصلة
ستوضح عينة الشيفرة أدناه كيفية تحميل رسالة بريد إلكتروني من ملف وحفظ كل مرفق فردي من الرسالة في ملف منفصل باسمه الأصلي.
- إنشاء مثيل من فئة MapiMessage.
- التكرار عبر مجموعة المرفقات الخاصة بالرسالة المحملة.
- لكل مرفق، حفظه كملف منفصل باستخدام طريقة Save، مع التأكد من حفظ كل مرفق باسمه الأصلي.
// Create an instance of MapiMessage from file | |
var msg = MapiMessage.Load("message.msg"); | |
// Iterate through the attachments collection | |
foreach (var attachment in msg.Attachments) | |
{ | |
// Save the individual attachment | |
attachment.Save(attachment.FileName); | |
} |
الخاتمة
في هذه المقالة، استكشفنا التنفيذ العملي لإضافة أنواع مختلفة من المرفقات والأشياء المضمنة إلى رسائل البريد الإلكتروني، وحفظ المرفقات كملفات منفصلة في C#، مع توفير أمثلة شيفرة موجزة لتوضيح العمليات. تظهر Aspose.Email for .NET كحل متعدد الاستخدامات يمكّن المطورين من إدارة مرفقات البريد الإلكتروني بكفاءة وتعزيز مهام الاتصال ضمن تطبيقاتهم، مما يضمن تجربة متماسكة وسلسة للمستخدمين النهائيين.
موارد مجانية:
- منتدى الدعم لطرح الأسئلة، طلب المساعدة، والتفاعل مع المجتمع لحل المشكلات أو الحصول على رؤى حول استخدام المكتبة بفعالية
- وثائق شاملة تغطي جميع جوانب وظائف المكتبة مع الوصول إلى مراجع API، دروس، أمثلة شيفرة، وأفضل الممارسات
- مدونة معلوماتية تغطي مجموعة واسعة من المواضيع المتعلقة بإدارة البريد الإلكتروني، تعامل المرفقات، وغيرها من المواضيع ذات الصلة مع رؤى، نصائح، وتحديثات حول أحدث الميزات والتطورات داخل نظام Aspose.Email
- تطبيقات مجانية مصممة لتعزيز إدارة البريد الإلكتروني والإنتاجية للمستخدمين عبر منصات مختلفة