عند إضافة مستند إلى المجموعة، تلتقطه الإضافة لمعالجته وإرساله عبر البريد الإلكتروني. تنشئ الإضافة حقل 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
).