إدارة حالة التسليم باستخدام إضافة Trigger Email

عند إضافة مستند إلى المجموعة، تلتقطه الإضافة لمعالجة تسليم البريد الإلكتروني. تنشئ الإضافة حقل delivery في المستند وتعدّله أثناء معالجة البريد الإلكتروني.

معالجة تسليم البريد الإلكتروني

يمكن ملء حقل delivery بالحقول التالية:

  • state: إحدى القيم PENDING أو PROCESSING أو SUCCESS أو ERROR.
  • startTime: الطابع الزمني لبدء معالجة البريد الإلكتروني.
  • endTime: الطابع الزمني لانتهاء معالجة البريد الإلكتروني (أي انتهت بالحالة SUCCESS أو ERROR).
  • error: إذا حدث خطأ في تسليم البريد الإلكتروني، سيتم ملء رسالة الخطأ هنا.
  • attempts: عدد محاولات تسليم هذه الرسالة الإلكترونية.
  • leaseExpireTime: في حال حدوث تعليق أو انتهاء مهلة، هو الوقت الذي يجب فيه اعتبار الحالة PROCESSING خطأً.
  • info: بعد تسليم البريد الإلكتروني بنجاح (إلى عنوان إلكتروني واحد على الأقل)، سيتم تعبئة هذا الحقل بالحقول التالية:
    • messageId: رقم تعريف الرسالة الإلكترونية التي تم تسليمها.
    • accepted: مصفوفة عناوين البريد الإلكتروني التي تم تسليم الرسالة الإلكترونية إليها بنجاح.
    • rejected: مصفوفة عناوين البريد الإلكتروني التي تعذّر تسليم الرسالة الإلكترونية إليها.
    • pending: مصفوفة عناوين البريد الإلكتروني التي رفضها خادم SMTP مؤقتًا.
    • response: آخر استجابة من خادم SMTP.

عادةً ما تنتقل الرسالة الإلكترونية من PENDING إلى PROCESSING ثم إلى SUCCESS أو ERROR. بعد الوصول إلى الحالة SUCCESS أو ERROR، لن تؤدي التغييرات الإضافية على المستند إلى إرسال الإضافة رسالة إلكترونية أخرى. لإعادة إرسال رسالة إلكترونية تتضمّن تعديلات المستند، يمكنك تغيير state إلى PENDING أو RETRY.

محاولات إعادة الإرسال اليدوية

في بعض الحالات، يفشل تسليم البريد الإلكتروني بطريقة قابلة للاسترداد أو يمكن تصحيح المستند يدويًا لتسليمه بشكل صحيح من خلال إجراء تعديلات طفيفة. على الرغم من أنّ محاولات إعادة الإرسال ليست تلقائية، يمكنك تغيير state يدويًا في حقل delivery إلى RETRY لكي تحاول الإضافة تسليم البريد الإلكتروني مرة أخرى (وتزيد عدد attempts).