Isi notifikasi Amazon SNS untuk Amazon SES - Layanan Email Sederhana Amazon

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

Notifikasi pentalan, aduan, dan pengiriman diterbitkan ke topik Amazon Simple Notification Service (Amazon SNS) dalam format JavaScript Object Notation (JSON). Tingkat atas objek JSON berisi string 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 tersebut; Amazon SES tidak membuat jaminan pengurutan atau batching 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.

  • Amazon SES berhak untuk menambahkan bidang tambahan ke notifikasi. Dengan demikian, aplikasi yang mengurai notifikasi ini harus cukup fleksibel untuk menangani bidang yang tidak diketahui.

  • Amazon SES menimpa header pesan ketika mengirimkan email. Anda dapat mengambil header pesan asli dari bidang headers dan commonHeaders dari objek mail.

Objek JSON Tingkat Atas

Objek JSON tingkat atas dalam notifikasi Amazon SES berisi bidang berikut.

Nama bidang Deskripsi
notificationType

String yang memiliki tipe notifikasi yang diwakili oleh objek JSON. Kemungkinan nilai adalah: Bounce, Complaint, atau Delivery.

Jika Anda menyiapkan penerbitan acara, bidang ini diberi namaeventType.

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 notificationType adalah Bounce dan berisi objek JSON yang menyimpan informasi tentang pentalan. Untuk informasi lebih lanjut, lihat Objek pentalan.

complaint

Bidang ini muncul hanya jika notificationType adalah Complaint dan berisi objek JSON yang menyimpan informasi tentang aduan. Untuk informasi lebih lanjut, lihat Objek aduan.

delivery

Bidang ini muncul hanya jika notificationType adalah Delivery dan berisi objek JSON yang menyimpan informasi tentang pengiriman. Untuk informasi lebih lanjut, lihat Objek pengiriman.

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 saat pesan asli dikirim (dalam format ISO8601).

messageId

ID unik yang ditetapkan Amazon SES ke pesan. Amazon SES mengembalikan nilai ini kepada Anda saat Anda mengirim pesan.

catatan

ID pesan ini ditetapkan oleh Amazon SES. Anda dapat menemukan ID pesan dari email asli di headers bidang mail objek.

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, sourceArn adalah ARN identitas yang pemilik identitasnya mengotorisasi penggunaan pengirim delegasi untuk mengirim email. Untuk informasi selengkapnya tentang otorisasi pengiriman, lihat Metode autentikasi email.

sourceIp

Alamat IP publik asal dari klien yang melakukan permintaan pengiriman email ke Amazon SES.

sendingAccountId

ID Akun AWS dari akun yang digunakan untuk mengirim email. Dalam hal otorisasi pengiriman, sendingAccountId adalah ID akun pengirim delegasi.

callerIdentity

Identitas IAM pengguna Amazon SES yang mengirimkan 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. Amazon SES memotong header dalam notifikasi ketika header dari pesan asli berukuran 10 KB atau lebih. Kemungkinan nilai adalah true dan false.

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 name dan bidang value.

catatan

Setiap ID pesan dalam objek headers berasal dari pesan asli yang Anda kirimkan ke Amazon SES. ID pesan yang kemudian ditentukan Amazon SES untuk pesan berada di bidang messageId dari objek mail.

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.

catatan

Untuk peristiwa, ID pesan apa pun di commonHeaders bidang adalah ID pesan yang kemudian ditentukan Amazon SES untuk pesan di messageId bidang objek mail. Notifikasi akan berisi ID pesan dari email asli.

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 Amazon SES" } }

Objek pentalan

Objek JSON yang berisi informasi tentang pentalan berisi bidang berikut.

Nama bidang Deskripsi
bounceType

Tipe pentalan, seperti yang ditentukan oleh Amazon SES. Untuk informasi lebih lanjut, lihat Tipe pentalan.

bounceSubType

Subtipe pentalan, seperti yang ditentukan oleh Amazon SES. Untuk informasi lebih lanjut, lihat Tipe pentalan.

bouncedRecipients

Daftar yang berisi informasi tentang penerima email asli yang terpental. Untuk informasi lebih lanjut, lihat Penerima yang terpental.

timestamp

Tanggal dan waktu pentalan dikirim (dalam format ISO8601). Perhatikan bahwa ini adalah waktu saat notifikasi dikirim oleh ISP, dan bukan waktu ketika notifikasi tersebut diterima oleh Amazon SES.

feedbackId

ID unik untuk pentalan.

Jika Amazon SES dapat menghubungi Message Transfer Authority (MTA) jarak jauh, bidang berikut ini juga ada.

Nama kolom Deskripsi
remoteMtaIp

Alamat IP dari MTA tempat Amazon SES berusaha untuk mengirimkan email.

Jika notifikasi status pengiriman (DSN) terlampir pada pentalan, bidang berikut ini juga ada.

Nama kolom Deskripsi
reportingMTA

Nilai bidang Reporting-MTA dari DSN. Ini adalah nilai MTA yang berusaha untuk melakukan pengiriman, relai, atau operasi gateway yang dijelaskan di DSN.

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 kolom Deskripsi
emailAddress

Alamat email penerima. Jika DSN tersedia, ini adalah nilai bidang Final-Recipient dari DSN.

Secara opsional, jika DSN dilampirkan ke pentalan, bidang berikut mungkin juga ada.

Nama kolom Deskripsi
action

Nilai bidang Action dari DSN. Hal ini menunjukkan tindakan yang dilakukan oleh Pelaporan-MTA sebagai hasil dari usahanya untuk mengirimkan pesan kepada penerima ini.

status

Nilai bidang Status dari DSN. Ini adalah kode status bebas-transportasi per penerima yang menunjukkan status penyampaian pesan.

diagnosticCode

Kode status yang dikeluarkan oleh MTA pelaporan. Ini adalah nilai bidang Diagnostic-Code dari DSN. Bidang ini mungkin tidak ada di DSN (sehingga juga tidak ada di JSON).

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 pentalan berisi tipe pentalan Undetermined, Permanent, atau Transient. Tipe pentalan Permanent dan Transient juga dapat berisi salah satu dari beberapa subtipe pentalan.

Ketika Anda menerima notifikasi pentalan dengan tipe pentalan Transient, Anda mungkin dapat mengirim email ke penerima tersebut di masa mendatang jika masalah yang menyebabkan pesan terpental teratasi.

Ketika Anda menerima notifikasi pentalan dengan tipe pentalan Permanent, Anda tidak 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 pentalan lunak (pentalan yang terkait dengan masalah sementara, seperti kotak masuk penerima yang penuh) terjadi, Amazon SES mencoba untuk mengirim ulang email untuk jangka waktu tertentu. Pada akhir jangka waktu tersebut, jika Amazon SES masih tidak dapat mengirimkan email, Amazon SES akan berhenti mencobanya.

Amazon SES memberikan notifikasi untuk pentalan keras, dan untuk pentalan lunak yang Amazon SES berhenti mencoba untuk mengirimkan. 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 pentalan tidak berisi informasi yang cukup bagi Amazon SES untuk menentukan alasan pentalan. 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 pentalan.

penting

Ketika 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 SES penindasan tingkat akun Amazon.

Permanent NoEmail

Itu tidak mungkin untuk mengambil alamat email penerima dari pesan bouncing.

Permanent Suppressed

Alamat email penerima berada di dalam daftar penekanan Amazon SES karena memiliki riwayat terbaru memproduksi pentalan keras. Untuk mengganti daftar penindasan global, lihat. Menggunakan daftar SES penindasan tingkat akun Amazon

Permanent OnAccountSuppressionList

Amazon SES telah menahan pengiriman ke alamat ini karena berada di daftar penahanan tingkat akun. Ini tidak dihitung terhadap metrik rasio pentalan Anda.

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.

catatan

Jika 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 tersebut memiliki tipe notifikasi Bounce, Amazon SES tidak menghitung respons otomatis saat menghitung tingkat pentalan untuk akun Anda.

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 kolom 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 ketika Amazon SES menerima notifikasi.

feedbackId

ID unik yang terkait dengan aduan tersebut.

complaintSubType

Nilai bidang complaintSubType dapat null atau OnAccountSuppressionList. Jika nilainya adalah OnAccountSuppressionList, Amazon SES menerima pesan tersebut, namun tidak mencoba mengirimkannya karena pesan tersebut berada dalam daftar penekanan tingkat akun.

Selanjutnya, jika laporan umpan balik dilampirkan ke aduan, bidang berikut mungkin ada.

Nama kolom Deskripsi
userAgent

Nilai bidang User-Agent dari laporan umpan balik. Nilai ini menunjukkan nama dan versi sistem yang menghasilkan laporan.

complaintFeedbackType

Nilai bidang Feedback-Type dari laporan umpan balik yang diterima dari ISP. Ini berisi tipe umpan balik.

arrivalDate

Nilai bidang Arrival-Date atau Received-Date dari laporan umpan balik (dalam format ISO8601). Bidang ini mungkin tidak ada dalam laporan (sehingga juga tidak ada dalam JSON).

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 mengajukan aduan. Anda harus menggunakan informasi ini untuk menentukan penerima yang mengajukan aduan, dan kemudian segera menghapus penerima tersebut dari milis Anda.

penting

Sebagian besar ISP menghapus alamat email penerima yang mengajukan aduan dari notifikasi aduan 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. Amazon SES melakukan pencarian terhadap pesan asli untuk menentukan daftar penerima ini.

Objek JSON dalam daftar ini berisi bidang berikut.

Nama kolom 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 kolom Deskripsi
timestamp

Waktu Amazon SES mengirimkan email ke server email penerima (dalam format ISO8601).

processingTimeMillis

Waktu dalam milidetik antara ketika Amazon SES menerima permintaan dari pengirim hingga mengirimkan 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 Amazon SES. Pesan ini bervariasi menurut email, menurut server email penerima, dan menurut ISP penerima.

reportingMTA

Nama host server email Amazon SES yang mengirim email.

remoteMtaIp

Alamat IP dari MTA tempat Amazon 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" }