Trigger Email 拡張機能による配信ステータスの管理
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
この拡張機能は、ドキュメントがコレクションに追加されると、そのドキュメントを取得してメール配信を処理します。この拡張機能がメールを処理する際に、ドキュメントの delivery
フィールドが作成または更新されます。
メール配信の処理
delivery
フィールドには以下のフィールドが設定されます。
- state:
PENDING
、PROCESSING
、SUCCESS
、ERROR
のいずれか。
- startTime: メールの処理が開始された時刻のタイムスタンプ。
- endTime: メールの処理が完了した(
SUCCESS
または ERROR
の状態になった)時刻のタイムスタンプ。
- error: メール配信エラーが発生した場合は、ここにエラー メッセージが設定されます。
- attempts: このメールの配信試行回数。
- leaseExpireTime: ハングまたはタイムアウトが発生した場合に、
PROCESSING
状態がエラーと見なされるようにする時刻。
- info: 少なくとも 1 つのアドレスに対するメール配信が成功すると、このフィールドに以下のフィールドが設定されます。
- messageId: 配信されたメールのメッセージ ID。
- accepted: メールが正常に配信された宛先メールアドレスの配列。
- rejected: メールを配信できなかった宛先メールアドレスの配列。
- pending: SMTP によって一時的に拒否されたメールアドレスの配列。
- response: SMTP サーバーからの最後のレスポンス。
通常、メールの状態は PENDING
から PROCESSING
になり、その後 SUCCESS
または ERROR
になります。SUCCESS
または ERROR
の状態になった後は、ドキュメントに変更を加えても、新たなメールの送信はトリガーされません。ドキュメントを更新してメールを再送信するには、state
を PENDING
または RETRY
に変更します。
手動での再試行
場合によっては、メール配信の失敗が回復可能なものであったり、ドキュメントを手動で簡単に修正することで正しく配信できたりすることがあります。再試行は自動的には行われませんが、delivery
フィールドの state
を手動で RETRY
に変更すると、メールの配信が再試行されます(attempts
の数値がインクリメントされます)。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-27 UTC。
[null,null,["最終更新日 2025-08-27 UTC。"],[],[],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`)."]]