Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Isi notifikasi Amazon SNS untuk Amazon SES
Pemberitahuan pantulan, keluhan, dan pengiriman dipublikasikan ke topik Amazon Simple Notification Service (Amazon SNS) dalam format JavaScript Object Notation (JSON)notificationType, objek mail, dan objek bounce, objek complaint, atau objek delivery.
Lihat bagian berikut untuk deskripsi berbagai tipe objek:
Berikut ini adalah beberapa catatan penting tentang isi notifikasi Amazon SNS untuk Amazon SES:
-
Untuk tipe notifikasi tertentu, Anda mungkin menerima satu notifikasi Amazon SNS untuk beberapa penerima, atau Anda mungkin menerima satu notifikasi Amazon SNS per penerima. Kode Anda harus dapat mengurai notifikasi Amazon SNS dan menangani kedua kasus; SES tidak membuat jaminan pemesanan atau pengelompokan untuk notifikasi yang dikirim melalui Amazon SNS. Namun, tipe notifikasi Amazon SNS yang berbeda (misalnya, pentalan dan aduan) tidak digabungkan menjadi satu notifikasi.
-
Anda mungkin menerima beberapa tipe notifikasi Amazon SNS untuk satu penerima. Misalnya, server email penerima mungkin menerima email tersebut (memicu notifikasi pengiriman), tapi setelah memproses email, server email penerima mungkin menentukan bahwa email tersebut benar-benar menghasilkan pentalan (memicu notifikasi pentalan). Namun, notifikasi ini selalu terpisah karena notifikasi tersebut merupakan tipe notifikasi yang berbeda.
-
SES berhak untuk menambahkan bidang tambahan ke notifikasi. Dengan demikian, aplikasi yang mengurai notifikasi ini harus cukup fleksibel untuk menangani bidang yang tidak diketahui.
-
SES menimpa header pesan saat mengirim email. Anda dapat mengambil header pesan asli dari bidang
headersdancommonHeadersdari objekmail.
Objek JSON Tingkat Atas
Objek JSON tingkat atas dalam pemberitahuan SES berisi bidang berikut.
| Nama bidang | Deskripsi |
|---|---|
notificationType |
String yang memiliki tipe notifikasi yang diwakili oleh objek JSON. Kemungkinan nilai adalah: Jika Anda menyiapkan penerbitan acara, bidang ini diberi nama |
mail |
Objek JSON yang berisi informasi tentang email asli yang dikaitkan dengan notifikasi. Untuk informasi lebih lanjut, lihat Objek surat. |
bounce |
Bidang ini muncul hanya jika |
complaint |
Bidang ini muncul hanya jika |
delivery |
Bidang ini muncul hanya jika |
Objek surat
Setiap notifikasi pentalan, aduan, atau pengiriman berisi informasi tentang email asli di objek mail. Objek JSON yang berisi informasi tentang objek mail memiliki bidang berikut.
| Nama bidang | Deskripsi |
|---|---|
timestamp
|
Waktu pengiriman pesan asli (dalam format ISO86 01). |
messageId
|
ID unik yang ditetapkan SES ke pesan. SES mengembalikan nilai ini kepada Anda saat Anda mengirim pesan. catatanID pesan ini ditetapkan oleh SES. Anda dapat menemukan ID pesan dari email asli di |
source
|
Alamat email tempat pesan asli dikirim (alamat envelope MAIL FROM). |
sourceArn
|
Amazon Resource Name (ARN) dari identitas yang digunakan untuk mengirim email. Dalam hal otorisasi pengiriman, |
sourceIp
|
Alamat IP publik yang berasal dari klien yang melakukan permintaan pengiriman email ke SES. |
sendingAccountId
|
Akun AWS ID akun yang digunakan untuk mengirim email. Dalam hal otorisasi pengiriman, |
callerIdentity
|
Identitas IAM dari pengguna SES yang mengirim email. |
destination
|
Daftar alamat email yang merupakan penerima email asli. |
headersTruncated
|
Objek ini ada hanya jika Anda mengonfigurasi pengaturan notifikasi untuk menyertakan header dari email asli. Menunjukkan jika header dipotong dalam notifikasi. SES memotong header dalam notifikasi ketika header dari pesan asli berukuran 10 KB atau lebih besar. Kemungkinan nilai adalah |
headers
|
Objek ini ada hanya jika Anda mengonfigurasi pengaturan notifikasi untuk menyertakan header dari email asli. Daftar header asli email. Setiap header dalam daftar memiliki bidang catatanSetiap ID pesan dalam |
commonHeaders
|
Objek ini ada hanya jika Anda mengonfigurasi pengaturan notifikasi untuk menyertakan header dari email asli. Mencakup informasi tentang header email umum dari email asli, termasuk bidang Dari, Kepada, dan Subjek. Dalam objek ini, setiap header adalah kunci. Bidang Dari dan Kepada diwakili oleh array yang dapat berisi beberapa nilai. catatanUntuk peristiwa, ID pesan apa pun dalam |
Berikut ini adalah contoh dari objek mail yang mencakup header email asli. Ketika tipe notifikasi ini tidak dikonfigurasi untuk menyertakan header email asli, objek mail tidak menyertakan bidang headersTruncated, headers, dan commonHeaders.
{ "timestamp":"2018-10-08T14:05:45 +0000", "messageId":"000001378603177f-7a5433e7-8edb-42ae-af10-f0181f34d6ee-000000", "source":"sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:888888888888:identity/example.com", "sourceIp": "127.0.3.0", "sendingAccountId":"123456789012", "destination":[ "recipient@example.com" ], "headersTruncated":false, "headers":[ { "name":"From", "value":"\"Sender Name\" <sender@example.com>" }, { "name":"To", "value":"\"Recipient Name\" <recipient@example.com>" }, { "name":"Message-ID", "value":"custom-message-ID" }, { "name":"Subject", "value":"Hello" }, { "name":"Content-Type", "value":"text/plain; charset=\"UTF-8\"" }, { "name":"Content-Transfer-Encoding", "value":"base64" }, { "name":"Date", "value":"Mon, 08 Oct 2018 14:05:45 +0000" } ], "commonHeaders":{ "from":[ "Sender Name <sender@example.com>" ], "date":"Mon, 08 Oct 2018 14:05:45 +0000", "to":[ "Recipient Name <recipient@example.com>" ], "messageId":" custom-message-ID", "subject":"Message sent using SES" } }
Objek pentalan
Objek JSON yang berisi informasi tentang pentalan berisi bidang berikut.
| Nama bidang | Deskripsi |
|---|---|
bounceType
|
Jenis pantulan, sebagaimana ditentukan oleh SES. Untuk informasi selengkapnya, lihat Tipe pentalan. |
bounceSubType
|
Subtipe pantulan, sebagaimana ditentukan oleh SES. Untuk informasi selengkapnya, lihat Tipe pentalan. |
bouncedRecipients
|
Daftar yang berisi informasi tentang penerima email asli yang terpental. Untuk informasi selengkapnya, lihat Penerima yang terpental. |
timestamp
|
Tanggal dan waktu di mana pantulan dikirim (dalam format ISO86 01). Perhatikan bahwa ini adalah waktu di mana pemberitahuan dikirim oleh ISP, dan bukan waktu di mana pemberitahuan itu diterima oleh SES. |
feedbackId
|
ID unik untuk pentalan. |
Jika SES dapat menghubungi Otoritas Transfer Pesan jarak jauh (MTA), bidang berikut juga ada.
| Nama bidang | Deskripsi |
|---|---|
remoteMtaIp
|
Alamat IP MTA tempat SES berusaha mengirimkan email. |
Jika notifikasi status pengiriman (DSN) terlampir pada pentalan, bidang berikut ini juga ada.
| Nama bidang | Deskripsi |
|---|---|
reportingMTA
|
Nilai bidang |
Berikut ini adalah contoh dari objek bounce.
{ "bounceType":"Permanent", "bounceSubType": "General", "bouncedRecipients":[ { "status":"5.0.0", "action":"failed", "diagnosticCode":"smtp; 550 user unknown", "emailAddress":"recipient1@example.com" }, { "status":"4.0.0", "action":"delayed", "emailAddress":"recipient2@example.com" } ], "reportingMTA": "example.com", "timestamp":"2012-05-25T14:59:38.605Z", "feedbackId":"000001378603176d-5a4b5ad9-6f30-4198-a8c3-b1eb0c270a1d-000000", "remoteMtaIp":"127.0.2.0" }
Penerima yang terpental
Notifikasi pentalan mungkin berkaitan dengan satu penerima atau beberapa penerima. Bidang bouncedRecipients memiliki daftar objek—satu per penerima yang berkaitan dengan notifikasi pentalan—dan selalu berisi bidang berikut.
| Nama bidang | Deskripsi |
|---|---|
emailAddress
|
Alamat email penerima. Jika DSN tersedia, ini adalah nilai bidang |
Secara opsional, jika DSN dilampirkan ke pentalan, bidang berikut mungkin juga ada.
| Nama bidang | Deskripsi |
|---|---|
action
|
Nilai bidang |
status
|
Nilai bidang |
diagnosticCode
|
Kode status yang dikeluarkan oleh MTA pelaporan. Ini adalah nilai bidang |
Berikut ini adalah contoh objek yang mungkin ada di daftar bouncedRecipients.
{ "emailAddress": "recipient@example.com", "action": "failed", "status": "5.0.0", "diagnosticCode": "X-Postfix; unknown user" }
Tipe pentalan
Objek bouncing berisi jenis bouncingUndetermined, Permanent (keras), atau Transient (lunak). Jenis bouncing Permanent (keras) dan Transient (lunak) juga dapat berisi salah satu dari beberapa subtipe bouncing.
Ketika Anda menerima pemberitahuan bouncing dengan tipe bouncing Transient (lunak), Anda mungkin dapat mengirim email ke penerima tersebut di masa mendatang jika masalah yang menyebabkan pesan terpental teratasi.
Ketika Anda menerima pemberitahuan bouncing dengan tipe bouncing Permanent (hard), kecil kemungkinannya Anda akan dapat mengirim email ke penerima tersebut di masa mendatang. Untuk alasan ini, Anda harus segera menghapus penerima alamat yang menghasilkan pentalan tersebut dari milis Anda.
catatan
Ketika soft bounce (bouncing yang terkait dengan masalah sementara, seperti kotak masuk penerima penuh) terjadi, SES mencoba mengirim ulang email untuk jangka waktu tertentu. Pada akhir periode waktu itu, jika SES masih tidak dapat mengirimkan email, ia berhenti mencoba.
SES memberikan pemberitahuan untuk pantulan keras, dan untuk pantulan lunak yang berhenti mencoba mengirimkannya. Jika Anda ingin menerima notifikasi setiap kali terjadi pentalan lunak, aktifkan publikasi peristiwa dan konfigurasikan untuk mengirim notifikasi ketika peristiwa penundaan pengiriman terjadi.
| bounceType | bounceSubType | Deskripsi |
|---|---|---|
Undetermined
|
Undetermined
|
Penyedia email penerima mengirim pesan pentalan. Pesan bouncing tidak berisi informasi yang cukup bagi SES untuk menentukan alasan pantulan. Email pentalan, yang dikirim ke alamat di header Jalur Kembali email yang mengakibatkan pentalan, mungkin berisi informasi tambahan tentang masalah yang menyebabkan email terpental. |
Permanent
|
General
|
Penyedia email penerima mengirim pesan hard bounce. pentingKetika Anda menerima tipe notifikasi pentalan ini, Anda harus segera menghapus alamat email penerima tersebut dari milis Anda. Mengirim pesan ke alamat yang menghasilkan pentalan keras dapat berdampak negatif pada reputasi Anda sebagai pengirim. Jika Anda terus mengirim email ke alamat yang menghasilkan pentalan keras, kami mungkin menjeda kemampuan Anda untuk mengirim email tambahan. Lihat Menggunakan daftar penindasan tingkat akun Amazon SES. |
Permanent
|
NoEmail
|
Itu tidak mungkin untuk mengambil alamat email penerima dari pesan bouncing. |
Permanent
|
Suppressed
|
Alamat email penerima ada di daftar penindasan SES karena memiliki riwayat baru-baru ini menghasilkan pantulan keras. Untuk mengganti daftar penindasan global, lihat. Menggunakan daftar penindasan tingkat akun Amazon SES |
Permanent
|
OnAccountSuppressionList
|
SES telah menekan pengiriman ke alamat ini karena ada di daftar penekanan tingkat akun. Ini tidak dihitung terhadap metrik rasio pentalan Anda. |
Permanent
|
UnsubscribedRecipient
|
Jenis bouncing ini terjadi ketika kontak penerima telah berhenti berlangganan dari topik dan email dikirim kepada mereka menggunakan opsi manajemen daftar. SES menghormati preferensi kontak dan tidak mencoba pengiriman. Selain itu, bouncing ini tidak memengaruhi reputasi pengirim karena pengiriman tidak dicoba, kontak penerima juga tidak ditambahkan ke daftar penindasan karena pantulan. TipDisarankan agar Anda berlangganan UnsubscribedRecipient acara untuk menghindari pengiriman terus ke penerima yang berhenti berlangganan. PertimbangkanMenggunakan pengelolaan daftar. Manajemen daftar harus menjadi sumber kebenaran untuk daftar pelanggan Anda. Dari perspektif penegakan SES, jika Anda terus mengirim ke penerima yang ditekan atau berhenti berlangganan, Anda akan memiliki reputasi tidak mengikuti praktik terbaik untuk pengiriman email. |
Transient
|
General
|
Penyedia email penerima mengirim pesan pentalan umum. Anda mungkin dapat mengirim pesan ke penerima yang sama di masa mendatang jika masalah yang menyebabkan pesan terpental teratasi. catatanJika Anda mengirim email ke penerima yang memiliki aturan respons otomatis yang aktif (seperti pesan "di luar kantor"), Anda mungkin menerima tipe notifikasi ini. Meskipun respons memiliki jenis notifikasi |
Transient
|
MailboxFull
|
Penyedia email penerima mengirim pesan pentalan karena kotak masuk penerima penuh. Anda mungkin dapat mengirim ke penerima yang sama di masa mendatang ketika kotak pesan tidak lagi penuh. |
Transient
|
MessageTooLarge
|
Penyedia email penerima mengirim pesan pentalan karena pesan yang Anda kirim terlalu besar. Anda mungkin dapat mengirim pesan ke penerima yang sama jika Anda mengurangi ukuran pesan. |
Transient
|
ContentRejected
|
Penyedia email penerima mengirim pesan pentalan karena pesan yang Anda kirim berisi konten yang tidak diizinkan oleh penyedia. Anda mungkin dapat mengirim pesan ke penerima yang sama jika mengubah konten pesan. |
Transient
|
AttachmentRejected
|
Penyedia email penerima mengirim pesan pentalan karena pesan berisi lampiran yang tidak dapat diterima. Misalnya, beberapa penyedia email mungkin menolak pesan dengan lampiran tipe file tertentu, atau pesan dengan lampiran yang sangat besar. Anda mungkin dapat mengirim pesan ke penerima yang sama jika Anda menghapus atau mengubah konten lampiran. |
Objek aduan
Objek JSON yang berisi informasi tentang aduan memiliki bidang berikut.
| Nama bidang | Deskripsi |
|---|---|
complainedRecipients
|
Daftar yang berisi informasi tentang penerima yang mungkin bertanggung jawab atas aduan tersebut. Untuk informasi lebih lanjut, lihat Penerima yang diadukan. |
timestamp
|
Tanggal dan waktu saat ISP mengirimkan notifikasi aduan, dalam format ISO 8601. Tanggal dan waktu di bidang ini mungkin tidak sama dengan tanggal dan waktu saat SES menerima pemberitahuan. |
feedbackId
|
ID unik yang terkait dengan aduan tersebut. |
complaintSubType
|
Nilai bidang |
Selanjutnya, jika laporan umpan balik dilampirkan pada aduan, bidang berikut mungkin ada.
| Nama bidang | Deskripsi |
|---|---|
userAgent
|
Nilai bidang |
complaintFeedbackType
|
Nilai bidang |
arrivalDate
|
Nilai |
Berikut ini adalah contoh dari objek complaint.
{ "userAgent":"ExampleCorp Feedback Loop (V0.01)", "complainedRecipients":[ { "emailAddress":"recipient1@example.com" } ], "complaintFeedbackType":"abuse", "arrivalDate":"2009-12-03T04:24:21.000-05:00", "timestamp":"2012-05-25T14:59:38.623Z", "feedbackId":"000001378603177f-18c07c78-fa81-4a58-9dd1-fedc3cb8f49a-000000" }
Penerima yang diadukan
Bidang complainedRecipients berisi daftar penerima yang mungkin telah mengirimkan aduan. Anda harus menggunakan informasi ini untuk menentukan penerima mana yang mengajukan keluhan, dan kemudian segera menghapus penerima itu dari milis Anda.
penting
Sebagian besar ISPs menghapus alamat email penerima yang mengajukan keluhan dari pemberitahuan keluhan mereka. Untuk alasan ini, daftar ini berisi informasi tentang penerima yang mungkin telah mengirim aduan, berdasarkan penerima pesan asli dan ISP tempat kami menerima aduan tersebut. SES melakukan pencarian terhadap pesan asli untuk menentukan daftar penerima ini.
Objek JSON dalam daftar ini berisi bidang berikut.
| Nama bidang | Deskripsi |
|---|---|
emailAddress
|
Alamat email penerima. |
Berikut ini adalah contoh objek penerima yang diadukan.
{ "emailAddress": "recipient1@example.com" }
catatan
Karena perilaku ini, Anda dapat lebih yakin bahwa Anda mengetahui alamat email yang mengadu tentang pesan Anda jika Anda membatasi pengiriman ke satu pesan per penerima (daripada mengirim satu pesan dengan 30 alamat email yang berbeda di baris bcc).
Tipe aduan
Anda mungkin melihat tipe aduan berikut di bidang complaintFeedbackType seperti yang ditetapkan oleh ISP pelaporan, menurut situs web Internet Assigned Numbers Authority
-
abuse—Menunjukkan email yang tidak diminta atau jenis penyalahgunaan email lainnya. -
auth-failure—Laporan kegagalan autentikasi email. -
fraud—Menunjukkan beberapa jenis penipuan atau aktivitas pengelabuan. -
not-spam—Menunjukkan bahwa entitas yang menyediakan laporan tidak menganggap pesan tersebut sebagai spam. Tindakan ini dapat digunakan untuk memperbaiki pesan yang salah ditandai atau dikategorikan sebagai spam. -
other—Menunjukkan umpan balik lain yang tidak sesuai dengan tipe terdaftar lainnya. -
virus—Laporan bahwa virus ditemukan dalam pesan asal.
Objek pengiriman
Objek JSON yang berisi informasi tentang pengiriman selalu memiliki bidang berikut.
| Nama bidang | Deskripsi |
|---|---|
timestamp
|
Waktu SES mengirimkan email ke server email penerima (dalam format ISO86 01). |
processingTimeMillis
|
Waktu dalam milidetik antara saat SES menerima permintaan dari pengirim untuk meneruskan pesan ke server email penerima. |
recipients
|
Daftar penerima yang dimaksudkan dari email yang diterapkan notifikasi pengiriman. |
smtpResponse
|
Pesan respons SMTP dari ISP jarak jauh yang menerima email dari SES. Pesan ini bervariasi menurut email, menurut server email penerima, dan menurut ISP penerima. |
reportingMTA
|
Nama host dari server surat SES yang mengirim surat. |
remoteMtaIp
|
Alamat IP MTA tempat SES mengirimkan email. |
Berikut ini adalah contoh dari objek delivery.
{ "timestamp":"2014-05-28T22:41:01.184Z", "processingTimeMillis":546, "recipients":["success@simulator.amazonses.com"], "smtpResponse":"250 ok: Message 64111812 accepted", "reportingMTA":"a8-70.smtp-out.amazonses.com", "remoteMtaIp":"127.0.2.0" }