إنشاء وتعيين محتويات رسائل البريد الإلكتروني
إنشاء رسالة بريد إلكتروني جديدة
تمكن Aspose.Email للـ Java المطورين من إنشاء رسائل MIME (ملحقات الإنترنت المتعددة الأغراض) من الصفر. الفئة الرئيسية لهذا الغرض في واجهة برمجة تطبيقات Aspose.Email للـ Java هي الـ MailMessage فئة. يشرح هذا الموضوع الخطوات المطلوبة لإنشاء رسائل بريد إلكتروني بصيغ الملفات EML و MSG و MTH باستخدام Aspose.Email للغة Java.
لإنشاء رسالة بريد إلكتروني من الصفر:
- إنشاء نسخة من فئة MailMessage.
- تعيين موضوع الرسالة باستخدام الـ setSubject() طريقة.
- تعيين جسم الرسالة باستخدام الـ setHtmlBody() طريقة.
- تعيين مرسل البريد الإلكتروني باستخدام الـ setFrom() طريقة.
- تعيين المستلم في حقل TO باستخدام الـ getTo().add() طريقة.
- تعيين المستلم في حقل CC باستخدام الـ getCC().add() طريقة.
- استدعِ الـ Save() طريقة لحفظ ملف الرسالة على القرص بصيغ MSG و EML و MHT.
تحديد مستلمين متعددين
الـ MailMessage يمثل رسالة بريد إلكتروني. تُستخدم نسخ فئة MailMessage لإنشاء رسائل بريد إلكتروني تُرسل إلى خادم SMTP باستخدام الـ SmtpClient فئة. يوضح هذا الموضوع كيفية تحديد أكثر من عنوان بريد إلكتروني. يمكن تحديد عناوين البريد باستخدام فئة MailMessage. عناوين البريد المستخدمة في فئة MailMessage هي:
- To - يمكن تحديد عناوين المستلمين في حقل "To". مستلمو حقل "To" هم الجمهور الأساسي للرسالة. يمكن أن يكون هناك أكثر من عنوان مستلم.
- Cc - الـ CC يعني "نسخة كربونية" أو "نسخة مجاملة"، ويسمح لك بإضافة مستلمين يحتاجون إلى رؤية البريد لكن لا يُتوقع منهم اتخاذ إجراء. مثال: المديرون أو أعضاء فريقك الذين يحتاجون إلى متابعة المحادثة. باستخدام Aspose.Email، يمكن تحديد عناوين CC في الكود الخاص بك. بهذه الطريقة، يمكن نسخ الرسائل التلقائية أو جميع الرسائل إلى عنوان معين إلى الأطراف المعنية.
- Bcc - نسخة مخفية (Blind Carbon Copy)، تتيح لك إرسال بريد إلكتروني إلى مستلم يكون مخفيًا عن باقي المستلمين. حيث يظهر الـ CC في معلومات البريد التي يراها المستلمون الرئيسيون، لا يظهر الـ Bcc. يُستخدم للإشعارات المخفية.
لتحديد عناوين بريد إلكتروني متعددة في رسالة بريد إلكتروني، اتبع هذه الخطوات:
- إنشاء نسخة من فئة MailMessage.
- تحديد عناوين From و To و Cc و Bcc المتعددة باستخدام نسخة MailMessage.
- إنشاء نسخة من فئة SmtpClient وإرسال البريد الإلكتروني باستخدام طريقة Send.
توضح عينة الشفرة أدناه كيفية تحديد عناوين To و CC و BCC المتعددة.
تحويل عناوين البريد إلى اسم ودّي
تُظهر عينات البرمجة أدناه كيفية تحويل عناوين البريد إلى أسماء ودية في رسالة بريد إلكتروني. الاسم الودي هو اسم أكثر قابلية للقراءة من عنوان البريد، مثل John Smith بدلاً من js346@domain.com. عند إرسال بريد إلكتروني، يمكن ربط اسم ودي بعنوان البريد في الـ MailMessage منشئ الفئة.
لتغيير عناوين البريد إلى أسماء ودية في رسالة بريد إلكتروني، اتبع هذه الخطوات:
- أنشئ نسخة من فئة MailMessage وحدد عناوين البريد في حقول To و From مع الأسماء الودية.
- حدد عناوين البريد Cc و Bcc مع الأسماء الودية عن طريق استدعاء مُنشئ فئة MailMessage في نسخة MailMessage.
- إنشاء نسخة من فئة SmtpClient وإرسال البريد الإلكتروني باستخدام طريقة Send.
تُظهر الفقرة البرمجية التالية كيفية عرض الأسماء لعناوين البريد الإلكتروني.
تعيين جسم البريد
الـ MailMessage فئة تمثل رسالة بريد إلكتروني. تُستخدم نسخ فئة MailMessage لإنشاء رسائل بريد تُرسل إلى خادم SMTP للتسليم باستخدام الـ SmtpClient فئة. يمكن تحديد جسم البريد باستخدام فئة MailMessage. يمكن تحديد جسم البريد الإلكتروني باستخدام setHtmlBody طريقة في MailMessage.
بالإضافة إلى HtmlBody، لدى Aspose.Email طريقة أخرى تتعلق بجسم البريد:
- isBodyHtml: يُخبر المستخدم ما إذا كان الجسم HTML أم نصًا عاديًا.
يُظهر هذا الموضوع كيفية تعريف نص جسم HTML وتعيين النص البديل.
تعيين جسم HTML
HtmlBody يُستخدم لتحديد محتوى HTML لجسم الرسالة. يجب أن يكون HtmlBody محاطًا بعلامات . تُظهر الفقرة البرمجية التالية كيفية تعيين جسم HTML.
تعيين النص البديل
استخدم الـ AlternateView فئة لتحديد نسخ من رسالة بريد إلكتروني بصيغ مختلفة. على سبيل المثال، إذا أرسلت رسالة بصيغة HTML، قد ترغب أيضًا في توفير نسخة نصية عادية في حال استخدم بعض المستلمين قراء بريد لا يمكنهم عرض محتوى HTML. تحتوي هذه الفئة على خاصيتين، LinkedResources و BaseUri، والتي تُستخدم لحل عناوين URL داخل محتوى البريد.
- LinkedResources هي مجموعة من كائنات LinkedResources. عند العرض، تُطابق عناوين URL داخل محتوى البريد أولاً مع عناوين URL في رابط المحتوى لكل كائن LinkedResources في مجموعة LinkedResources، ثم تُحل.
- يُستخدم BaseUri بواسطة قارئ البريد لحل عناوين URL النسبية داخل الجسم، وكذلك لحل عناوين URL روابط المحتوى النسبية، في مجموعة LinkedResources.
تُظهر الفقرة البرمجية التالية كيفية تعيين النص البديل.
تحديد ترميز جسم البريد
يحدد نوع المحتوى تنسيق محتوى البريد الإلكتروني: مجموعة الأحرف. على سبيل المثال، بعض مجموعات الأحرف الشائعة المتوفرة في java.nio.Charset هي:
- US-ASCII - ASCII بسبعة بتات، المعروف أيضًا بـ ISO646-US، أو بلوك اللاتيني الأساسي في مجموعة أحرف Unicode
- ISO-8859-1 - أبجدية لاتينية ISO رقم 1، المعروفة أيضًا بـ ISO-LATIN-1
- UTF-8 - تنسيق تحويل UCS ثمان بتات
- UTF-16BE - تنسيق تحويل UCS سِتة عشر بتًا، ترتيب بايت كبير‑النهاية
- UTF-16LE - تنسيق تحويل UCS سِتة عشر بتًا، ترتيب بايت صغير‑النهاية
- UTF-16 - تنسيق تحويل UCS سِتة عشر بتًا، يُحدَّد ترتيب البايتات بواسطة علامة ترتيب بايت اختيارية
تستخدم Aspose.Email الـ BodyEncoding خاصية في فئة MailMessage لتحديد ترميز جسم البريد الإلكتروني. لتشفير جسم رسالة البريد، اتبع الخطوات الموضحة أدناه:
- إنشاء نسخة من فئة MailMessage.
- تحديد المرسل، المستلم وجسم البريد HTML في نسخة MailMessage.
- تحديد قيمة الخاصية BodyEncoding.
- إنشاء مثيل من الـ SmtpClient فئة وإرسال البريد باستخدام طريقة Send.
ميزات MailMessage
الـ MailMessage فئة تمثل محتوى رسالة بريد إلكتروني. تُستخدم نسخ فئة MailMessage لإنشاء رسالة بريد تُرسل إلى خادم SMTP للتسليم باستخدام الـ SmtpClient فئة. يُظهر هذا المقال كيفية استخدام ميزات فئة MailMessage للتحكم في ميزات البريد الإلكتروني التالية:
- التاريخ والوقت - عبر فئة MailMessage setDate طريقة لتعيين تاريخ ووقت البريد الإلكتروني.
- أولوية الرسالة - الـ MailPriority فئة تُحدد مستويات الأولوية لإرسال رسالة بريد إلكتروني. يمكن أن تكون منخفضة أو عادية أو عالية. تؤثر الأولوية على سرعة الإرسال والتسليم.
- حساسية الرسالة - الـ MailSensitivity فئة تُحدد خمس مستويات للحساسية.
- إشعار التسليم - إشعارات التسليم تُخبر المُرسِل بأن البريد الإلكتروني الذي أرسله قد تم تسليمه إلى صندوق الوارد للمستلم.
بشكل افتراضي، التاريخ هو التاريخ الفعلي الذي تم إرسال الرسالة فيه، والوقت هو الوقت الذي تم إرساله، كما يعرضه Microsoft Outlook. ومع ذلك، يتم إضافة وقت التسليم الفعلي للبريد من قبل خادم SMTP نفسه في رأس البريد. على سبيل المثال، أدناه رأس بريد شائع، حيث تم تعيين الحقل Date باستخدام MailMessage.setDate.
توضع الفقرة البرمجية أدناه كيفية استخدام كل ميزة من المذكورات أعلاه.
طلب إيصال قراءة
تظهر عينات البرمجة أدناه كيفية طلب إيصال قراءة. فئة MailMessage DeliveryNotificationOptions خاصية التعداد تصف الـ خيارات إشعار التسليم لبريد إلكتروني. لطلب إيصال قراءة بعد إرسال بريد إلكتروني، اتبع الخطوات التالية:
- إنشاء نسخة من فئة MailMessage.
- تحديد المرسل، المستلم وجسم البريد HTML في نسخة MailMessage.
- تحديد DeliveryNotificationOptions في نسخ MailMessage الأخرى.
- إنشاء نسخة من فئة SmtpClient وإرسال البريد باستخدام طريقة Send.
قد لا تُنفّذ طلبات إيصال القراءة دائمًا لأن:
- قد لا ينفّذ عميل البريد تلك الوظيفة.
- قد يكون لدى المستخدم النهائي هذه الوظيفة موقفة.
- قد يختار المستخدم النهائي عدم إرسالها.
تُظهر الفقرة البرمجية التالية كيفية طلب إيصال قراءة.
ضبط رؤوس البريد الإلكتروني
تمثل رؤوس البريد الإلكتروني معيارًا للإنترنت وتحدد RFC حقول الرؤوس التي تُدرج في رسائل البريد الإلكتروني على الإنترنت. يمكن تحديد رأس بريد إلكتروني باستخدام الـ MailMessage الفئة. تُعَرَّف أنواع الرؤوس الشائعة في الـ HeaderType الفئة. هي فئة مغلقة تعمل كالتعداد العادي.
عادةً ما يحتوي رأس البريد الإلكتروني على الحقول التالية:
- To: يمكن تحديد عناوين المستلمين في حقل To. مستلمو حقل To هم الجمهور الأساسي للرسالة. يمكن أن يكون هناك أكثر من عنوان مستلم.
- From: يُظهر هذا الحقل عنوان البريد الإلكتروني للمرسل.
- CC: يسمح للمستخدمين بإرسال رسالة كـ "نسخة كربونية" أو "نسخة Courtesy". أي أن المتلقي ليس من المتوقع أن يرد أو يتصرف. عادةً ما يتم إبلاغ الموظفين المشرفين عبر CC.
- Bcc: يرمز إلى Blind Carbon Copy (نسخة مخفية)، ويشير إلى ممارسة إرسال رسالة إلى عدة مستلمين بطريقة لا يحتوي فيها ما يتلقاه كل منهم على قائمة كاملة بالمستلمين. يُستخدم لإشعارات مخفية.
- ReplyTo: يُقصد من هذا الحقل إظهار العنوان الذي يرغب المرسل في أن تُرسل إليه الردود.
- Subject: العنوان أو السطر الرئيسي أو الموضوع. يُستخدم غالبًا كمؤشر للنقاش للرسائل التي ترد أو تُعلق على رسائل أخرى.
- Date: يُحدد هذا الحقل تاريخ (ووقت). عادةً يكون هذا هو التاريخ الذي كُتب فيه الرسالة وأُرسل.
- XMailer: معلومات حول برنامج العميل للمرسل. مثال: X-Mailer: Aspose.Email. يُستخدم XMailer من قبل عملاء البريد. كل عميل بريد سيكون له قيمة XMailer مختلفة. قيمة XMailer في MS Outlook هي Microsoft Office Outlook, Build 11.0.5510. يتم تجاهلها من قبل مستقبل البريد أو قارئ البريد.
عادةً، يبدو رأس البريد الإلكتروني كالآتي:
Reply-To: reply@reply.com
From: sender@sender.com
To: guangzhou@guangzhoo.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
لتخصيص رأس بريد إلكتروني، اتبع الخطوات التالية:
- إنشاء مثيل من الـ MailMessage فئة.
- حدد الحقول To، From، CC، Bcc، ReplyTo، Subject، Date و XMailer باستخدام كائن من فئة MailMessage.
- إنشاء مثيل من الـ MimeHeader الفئة وتحديد الرأس السري.
- أضف الرأس السري إلى كائن MailMessage.
في الشيفرة أدناه، قمنا بتخصيص رأس بريد إلكتروني.
يُنتج المقتطف البرمجي أعلاه رأس بريد إلكتروني بالصيغة التالية. يمكن ملاحظة ذلك بفتح الملف MsgHeaders.msg في Microsoft Outlook ثم عرض خصائصه.
Reply-To: reply@reply.com
From: sender@sender.com
To: receiver1@receiver.com
CC: receiver2@receiver.com
BCC: receiver3@receiver.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
secret-header: mystery
إدراج رأس في موقع محدد
الـ Add طريقة من HeadersCollection تُدرج الرأس في نهاية المجموعة. ومع ذلك، قد يكون من الضروري أحيانًا إدراج رأس في موقع محدد. في هذه الحالة، لا تساعد طريقة Add. لتحقيق ذلك، استخدم الـ Insert طريقة من HeadersCollection. إذا احتوت المجموعة على رؤوس بنفس الاسم، سيتم إدراج هذا الرأس قبل الرؤوس الأخرى ذات الاسم نفسه. أدناه توقيع طريقة Insert وعينة شيفرة للاستخدام.
Method Signature
HeaderCollection.insert(String name, String value)
إضافة رؤوس مخصصة إلى البريد الإلكتروني
توضح عينات البرمجة أدناه كيفية تحديد رأس مخصص في رسالة بريد إلكتروني. يمكن تحديد رأس البريد باستخدام فئة MailMessage. لتحديد رأس مخصص في رسالة بريد إلكتروني، يرجى اتباع الخطوات التالية:
- إنشاء نسخة من فئة MailMessage.
- حدد قيم to و from و subject باستخدام كائن MailMessage.
- أضف الرأس السري إلى كائن MailMessage.
- إنشاء نسخة من فئة SmtpClient وإرسال البريد الإلكتروني باستخدام طريقة Send.
المقتطف البرمجي التالي يوضح لك كيفية إضافة رؤوس مخصصة إلى البريد الإلكتروني.
توقيع رسائل البريد الإلكتروني باستخدام DKIM
يتيح Aspose.Email توقيع البريد الإلكتروني باستخدام DKIM (DomainKeys Identified Mail). يتيح ذلك للمؤسسة تحمل مسؤولية رسالة أثناء النقل (حول DKIM). يضيف DKIM توقيعًا رقميًا إلى رؤوس رسالة البريد الإلكتروني يمكن للتحاويل التحقق منه. المفتاح العام للمرسل يمكن المستقبل من التحقق من تطابق التوقيع مع محتوى الرسالة. فئة MailMessage dKIMSign تُستخدم الطريقة لتعيين المعلومات التشفيرية وتوقيع الرسالة. يُظهر المقتطف البرمجي التالي كيفية توقيع رسائل البريد الإلكتروني باستخدام DKIM.
إجراء دمج البريد
يساعد دمج البريد في إنشاء وإرسال دفعة من رسائل البريد الإلكترونية المتشابهة. جوهر الرسائل هو نفسه، لكن المحتوى يمكن تخصيصه. عادةً ما تُستخدم تفاصيل اتصال المستلم (الاسم الأول، الاسم الثاني، الشركة، إلخ) لتخصيص البريد.
|
| | :- | |الشكل: توضيح كيف يعمل دمج البريد|
لتنفيذ دمج بريد مع Aspose.Email، اتبع الخطوات التالية:
- أنشئ دالة باسم signature
- إنشاء مثيل من الـ MailMessage فئة.
- حدد المرسل، المستقبل، الموضوع ومحتوى الرسالة.
- أنشئ توقيعًا لنهاية البريد الإلكتروني.
- إنشاء مثيل من الـ TemplateRoutine الفئة ومرّر لها الـ MailMessage كائن.
- احصل على التوقيع في الـ TemplateRoutine كائن.
- إنشاء مثيل من الـ DataTable فئة.
- أضف الأعمدة Receipt و FirstName و LastName كمصادر بيانات في فئة DataTable
- إنشاء مثيل من الـ DataRow فئة
- حدد عنوان الاستلام، الاسم الأول واسم العائلة في كائن DataRow
- إنشاء مثيل من الـ MailMessageCollection فئة
- حدد الـ TemplateRoutine وأنسجة DataTable في الـ MailMessageCollection كائن.
- إنشاء مثيل من الـ SmtpClient الفئة وتحديد الخادم، المنفذ، اسم المستخدم وكلمة المرور
- أرسل رسائل بريد إلكتروني باستخدام الـ SmtpClient طريقة BulkSendAsync في الفئة
الشيفرة أدناه تُرسل بريدًا إلكترونيًا إلى شخص واحد من ثلاثة آخرين.