Jangan lewatkan sorotan dari Firebase di Google I/O 2023. Pelajari lebih lanjut

Mengelola status pengiriman dengan ekstensi Memicu Email

Saat dokumen ditambahkan ke koleksi, ekstensi mengambilnya untuk pemrosesan pengiriman email. Ekstensi membuat dan memperbarui kolom delivery di dokumen saat ekstensi memproses email.

Pemrosesan pengiriman email

Kolom delivery dapat diisi dengan kolom berikut:

  • state: Salah satu dari PENDING, PROCESSING, SUCCESS, atau ERROR.
  • startTime: Stempel waktu saat pemrosesan email dimulai.
  • endTime: Stempel waktu saat pemrosesan email telah selesai (yaitu, diakhiri dengan status SUCCESS atau ERROR).
  • error: Jika terjadi error saat pengiriman email, pesan error akan terisi di sini.
  • attempts: Jumlah upaya pengiriman untuk email ini.
  • leaseExpireTime: Jika hang atau waktu tunggu habis, waktu saat status PROCESSING harus dianggap sebagai error.
  • info: Setelah pengiriman email berhasil (setidaknya ke satu alamat), kolom ini akan diisi dengan kolom berikut:
    • messageId: ID pesan dari email yang dikirim.
    • accepted: Array alamat email tempat email berhasil dikirim.
    • rejected: Array alamat email yang menjadi tujuan email yang gagal dikirim.
    • pending: Array alamat email yang untuk sementara ditolak oleh SMTP.
    • response: Respons terakhir dari server SMTP.

Status email biasanya akan berubah dari PENDING ke PROCESSING lalu ke SUCCESS atau ERROR. Setelah berada dalam status SUCCESS atau ERROR, perubahan tambahan pada dokumen tidak akan memicu ekstensi untuk mengirim email lain. Untuk mengirim ulang email dengan pembaruan dokumen, Anda dapat mengubah state menjadi PENDING atau RETRY.

Percobaan ulang manual

Ada kalanya pengiriman email gagal tetapi masih dapat dipulihkan, atau dokumen dapat diperbaiki secara manual untuk dikirimkan lagi dengan benar dengan sedikit modifikasi. Saat percobaan ulang tidak ditetapkan ke otomatis, Anda dapat mengubah state di kolom delivery menjadi RETRY secara manual agar ekstensi kembali mencoba melakukan mengirimkan email (dan meningkatkan jumlah attempts).