وقتی سندی به مجموعه اضافه میشود، افزونه آن را برای پردازش تحویل ایمیل انتخاب میکند. این افزونه همزمان با پردازش ایمیل، یک فیلد delivery در سند ایجاد و بهروزرسانی میکند.
پردازش تحویل ایمیل
فیلد delivery را میتوان با فیلدهای زیر پر کرد:
- حالت: یکی از
PENDINGدر حال بررسی)،PROCESSING)،SUCCESS) یاERROR. - زمان شروع: مهر زمانی که پردازش ایمیل آغاز شد.
- endTime: مهر زمانی که پردازش ایمیل تکمیل شد (یعنی در حالت
SUCCESSیاERRORبه پایان رسید). - خطا: اگر خطایی در تحویل ایمیل وجود داشته باشد، پیام خطا در اینجا نمایش داده میشود.
- تعداد دفعات تلاش برای تحویل این ایمیل.
- leaseExpireTime: در صورت هنگ کردن یا اتمام زمان، زمانی که یک حالت
PROCESSINGباید خطا در نظر گرفته شود. - اطلاعات: پس از ارسال موفقیتآمیز ایمیل (حداقل به یک آدرس)، این فیلد با فیلدهای زیر پر خواهد شد:
- messageId: شناسه پیام ایمیل ارسال شده.
- پذیرفتهشده: آرایهای از آدرسهای ایمیل که ایمیل با موفقیت به آنها تحویل داده شده است.
- رد شده: آرایهای از آدرسهای ایمیل که ایمیل به آنها ارسال نشده است.
- در حال بررسی: آرایهای از آدرسهای ایمیل که به طور موقت توسط SMTP رد شدهاند.
- پاسخ: آخرین پاسخ از سرور SMTP.
یک ایمیل معمولاً از PENDING به PROCESSING و سپس به SUCCESS یا خطا ( ERROR ) تغییر میکند. وقتی در حالت SUCCESS یا ERROR قرار گرفت، تغییرات اضافی در سند، افزونه را برای ارسال ایمیل دیگری تحریک نمیکند. برای ارسال مجدد ایمیل حاوی بهروزرسانیهای سند، میتوانید state را به در PENDING یا دوباره RETRY تغییر دهید.
تلاشهای مجدد دستی
مواردی وجود دارد که تحویل ایمیل به شکلی قابل بازیابی با شکست مواجه میشود یا میتوان سند را به صورت دستی و با تغییرات جزئی برای تحویل صحیح اصلاح کرد. اگرچه تلاشهای مجدد خودکار نیستند، میتوانید state را در فیلد delivery به صورت دستی به RETRY تغییر دهید تا افزونه دوباره برای تحویل ایمیل تلاش کند (و تعداد attempts را افزایش دهد).