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

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

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

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

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

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

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

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