إدارة حالة التسليم باستخدام إضافة 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
).
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["\u003cbr /\u003e\n\nWhen a document is added to the collection, the extension picks it up for email\ndelivery processing. The extension creates and updates a `delivery` field in the\ndocument as it processes the email.\n\nEmail delivery processing\n\nThe `delivery` field can be populated with the following fields:\n\n- **state:** One of `PENDING`, `PROCESSING`, `SUCCESS`, or `ERROR`.\n- **startTime:** Timestamp when email processing began.\n- **endTime:** Timestamp when email processing completed (that is, ended in either a `SUCCESS` or `ERROR` state).\n- **error:** If there was an email delivery error, an error message will be populated here.\n- **attempts:** Number of delivery attempts for this email.\n- **leaseExpireTime:** In case of a hang or timeout, the time at which a `PROCESSING` state should be considered an error.\n- **info:** After successful email delivery (to at least one address), this field will be populated with the following fields:\n - **messageId:** The message ID of the delivered email.\n - **accepted:** Array of email addresses to which the email was successfully delivered.\n - **rejected:** Array of email addresses to which the email could not be delivered.\n - **pending:** Array of email addresses that were temporarily rejected by SMTP.\n - **response:** The last response from the SMTP server.\n\nAn email will typically go from `PENDING` to `PROCESSING` to either `SUCCESS` or\n`ERROR`. Once in the `SUCCESS` or `ERROR` state, additional changes to the\ndocument will not trigger the extension to send another email. To resend an\nemail with document updates, you can change the `state` to `PENDING` or `RETRY`.\n\nManual retries\n\nThere are instances in which email delivery fails in a recoverable fashion or\nthe document can be manually corrected for proper delivery with minor\nmodifications. While retries are not automatic, you can manually change the\n`state` in the `delivery` field to `RETRY` so that the extension attempts email\ndelivery again (and increments the number of `attempts`)."]]