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

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

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

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

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

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

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

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