Menggunakan pengelolaan daftar - Layanan Email Sederhana Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan pengelolaan daftar

Amazon SES menawarkan kemampuan pengelolaan daftar, yang berarti pelanggan dapat mengelola milis mereka sendiri, yang dikenal sebagai daftar kontak. Daftar kontak adalah daftar yang mengizinkan Anda menyimpan semua kontak yang telah berlangganan topik tertentu atau banyak topik. Kontak adalah pengguna akhir yang menerima email Anda. Topik adalah grup minat, tema, atau label dalam daftar. Daftar dapat memiliki beberapa topik.

Dengan menggunakan ListContactsoperasi di Amazon SES API v2, Anda dapat mengambil daftar semua kontak Anda yang telah berlangganan topik tertentu, kepada siapa Anda dapat mengirim email menggunakan operasi. SendEmail

Untuk informasi tentang pengelolaan langganan, lihat Menggunakan manajemen berlangganan.

Gambaran umum manajemen daftar

Anda harus mempertimbangkan faktor-faktor berikut ketika Anda menggunakan pengelolaan daftar:

  • Anda dapat menentukan daftar topik sekaligus membuat daftar.

  • Hanya satu daftar kontak yang diizinkan per Akun AWS.

  • Daftar dapat memiliki maksimum 20 topik.

  • Anda dapat memperbarui daftar kontak yang sudah ada, termasuk menambahkan topik baru ke daftar, menambahkan atau menghapus kontak dari daftar, dan memperbarui preferensi kontak untuk daftar atau topik.

  • Anda dapat memperbarui metadata topik, seperti nama tampilan topik atau deskripsi.

  • Anda bisa mendapatkan daftar kontak di daftar kontak, kontak yang berlangganan dari topik, kontak yang berhenti berlangganan dari topik, dan kontak yang berhenti berlangganan dari semua topik di daftar.

  • Anda dapat mengimpor daftar kontak yang ada ke Amazon SES menggunakan CreateImportJobAPI.

  • Amazon SES akan mementalkan email jika dikirim ke kontak yang tidak berlangganan di daftar kontak Anda. Untuk informasi lebih lanjut, lihat Menggunakan manajemen berlangganan.

  • Setiap kontak dapat memiliki atribut terkait yang dapat Anda gunakan untuk menyimpan informasi tentang kontak tersebut.

Mengonfigurasi pengelolaan daftar

Anda dapat menggunakan operasi berikut untuk mengonfigurasi kemampuan manajemen daftar. Untuk daftar lengkap kontak dan operasi kontak, lihat Referensi Amazon SES API v2.

Buat daftar kontak

Anda dapat menggunakan CreateContactListoperasi di Amazon SES API v2 untuk membuat daftar kontak. Anda dapat mengonfigurasi pengaturan ini dengan cepat dan mudah menggunakan AWS CLI. Untuk informasi selengkapnya tentang menginstal dan mengonfigurasi AWS CLI, lihat Panduan Pengguna AWS Command Line Interface.

Untuk membuat daftar kontak dengan menggunakan AWS CLI
  • Di baris perintah, masukkan perintah berikut:

    aws sesv2 create-contact-list --cli-input-json file://CONTACT-LIST-JSON

    Di perintah sebelumnya, ganti CONTACT-LIST-JSON dengan jalur ke file JSON Anda untuk permintaan Anda. CreateContactList

    Contoh file JSON CreateContactList input untuk permintaan adalah sebagai berikut:

    { "ContactListName": "ExampleContactListName", "Description": "Creating a contact list example", "Topics": [ { "TopicName": "Sports", "DisplayName": "Sports Newsletter", "Description": "Sign up for our free newsletter to receive updates on all sports.", "DefaultSubscriptionStatus": "OPT_OUT" }, { "TopicName": "Cycling", "DisplayName": "Cycling newsletter", "Description": "Never miss a cycling update by subscribing to our newsletter.", "DefaultSubscriptionStatus": "OPT_IN" }, { "TopicName": "NewProducts", "DisplayName": "New products", "Description": "Hear about new products by subscribing to this mailing list.", "DefaultSubscriptionStatus": "OPT_IN" }, { "TopicName": "DailyUpdates", "DisplayName": "Daily updates", "Description": "Start your day with sport updates, Monday through Friday.", "DefaultSubscriptionStatus": "OPT_OUT" } ] }

Buat kontak

Anda dapat menggunakan CreateContactoperasi di Amazon SES API v2 untuk membuat daftar kontak. Anda dapat mengonfigurasi pengaturan ini dengan cepat dan mudah menggunakan AWS CLI. Untuk informasi selengkapnya tentang menginstal dan mengonfigurasi AWS CLI, lihat Panduan Pengguna AWS Command Line Interface.

Untuk membuat kontak dengan menggunakan AWS CLI
  • Di baris perintah, masukkan perintah berikut:

    aws sesv2 create-contact --cli-input-json file://CONTACT-JSON

    Di perintah sebelumnya, ganti CONTACT-JSON dengan jalur ke file JSON Anda untuk permintaan Anda. CreateContact

    Contoh file JSON CreateContact input untuk permintaan adalah sebagai berikut:

    { "ContactListName": "ExampleContactListName", "EmailAddress": "example@amazon.com", "UnsubscribeAll": false, "TopicPreferences": [ { "TopicName": "Sports", "SubscriptionStatus": "OPT_IN" } ], "AttributesData": "{\"Name\": \"John\", \"Location\": \"Seattle\"}" }

    Dalam contoh di atas, UnsubscribeAll nilai false menunjukkan bahwa kontak belum berhenti berlangganan dari semua topik, dan nilai true berarti kontak telah berhenti berlangganan dari semua topik.

    TopicPreferencesmencakup informasi tentang status langganan kontak ke topik. Dalam contoh sebelumnya, kontak telah memilih topik "Olahraga" dan akan menerima semua email ke topik "Olahraga”.

    AttributesDataIni adalah bidang JSON tempat Anda dapat menempatkan metadata apa pun tentang kontak kami. Ini harus menjadi objek JSON valid.

Mengimpor kontak dalam jumlah besar ke daftar kontak Anda

Anda dapat secara manual menambahkan alamat dalam jumlah besar dengan terlebih dahulu mengunggah kontak Anda ke objek Amazon S3 diikuti dengan menggunakan CreateImportJoboperasi di Amazon SES API v2 atau dengan menggunakan konsol SES. Untuk informasi selengkapnya, lihat Menambahkan alamat email secara massal ke daftar penekanan tingkat akun Anda.

Anda harus membuat daftar kontak sebelum mengimpor kontak Anda.

catatan

Anda dapat menambahkan hingga 1 juta kontak ke daftar kontak perImportJob.

Untuk menambahkan kontak dalam jumlah besar ke daftar kontak Anda, selesaikan langkah berikut.

  • Unggah kontak Anda ke objek Amazon S3 baik dalam format CSV atau JSON.

    Format CSV

    Baris pertama dari file yang diunggah ke Amazon S3 harus menjadi baris header.

    topicPreferencesObjek perlu diratakan untuk format CSV. Setiap topik di topicPreferences akan memiliki bidang header terpisah.

    Contoh format CSV untuk menambahkan kontak dalam jumlah besar ke daftar kontak:

    emailAddress,unsubscribeAll,attributesData,topicPreferences.Sports,topicPreferences.Cycling example1@amazon.com,false,{"Name": "John"},OPT_IN,OPT_OUT example2@amazon.com,true,,OPT_OUT,OPT_OUT

    Format JSON

    Hanya file JSON yang dibatasi baris baru yang didukung. Di format ini, setiap baris adalah objek JSON lengkap yang berisi informasi satu kontak.

    Contoh format JSON untuk menambahkan kontak dalam jumlah besar ke daftar kontak:

    { "emailAddress": "example1@amazon.com", "unsubscribeAll": false, "attributesData": "{\"Name\":\"John\"}", "topicPreferences": [ { "topicName": "Sports", "subscriptionStatus": "OPT_IN" }, { "topicName": "Cycling", "subscriptionStatus": "OPT_OUT" } ] } { "emailAddress": "example2@amazon.com", "unsubscribeAll": true, "topicPreferences": [ { "topicName": "Sports", "subscriptionStatus": "OPT_OUT" }, { "topicName": "Cycling", "subscriptionStatus": "OPT_OUT" } ] }

    Di contoh sebelumnya, ganti contoh1@amazon.com dan contoh2@amazon.com dengan alamat email yang ingin Anda tambahkan ke daftar kontak. Ganti attributesData nilai-nilai dengan nilai-nilai khusus untuk kontak. Selain itu, ganti Olahraga dan Bersepeda dengan topicName yang berlaku untuk kontak Anda. Yang dapat diterima topicPreferences adalah OPT_IN dan OPT_OUT.

    Atribut berikut didukung ketika mengunggah kontak Anda ke objek Amazon S3 baik dalam format CSV atau JSON:

    Atribut Deskripsi
    emailAddress Alamat email kontak. Ini adalah bidang wajib.
    unsubscribeAll Status nilai boolean mencatat jika kontak berhenti berlangganan dari semua topik daftar kontak.
    topicPreferences Preferensi kontak untuk memilih atau memilih keluar dari topik.
    attributesData Data atribut terlampir pada kontak.
  • Berikan Amazon SES izin untuk membaca objek Amazon S3.

    Saat diterapkan ke bucket Amazon S3, kebijakan tersebut memberikan Amazon SES izin untuk membaca ke bucket tersebut. Untuk informasi selengkapnya tentang melampirkan kebijakan ke bucket Amazon S3, lihat Menggunakan Kebijakan Bucket dan Kebijakan Pengguna dalam Panduan Pengguna Amazon Storage Service.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESGet", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::BUCKET-NAME/OBJECT-NAME", "Condition": { "StringEquals": { "aws:Referer": "AWSACCOUNTID" } } } ] }
  • Memberi Amazon SES izin untuk menggunakan AWS KMS kunci Anda

    Jika objek Amazon S3 dienkripsi dengan AWS KMS kunci, Anda perlu memberikan Amazon SES izin untuk menggunakan kunci KMS. Amazon SES hanya mendapat izin dari kunci yang dikelola pelanggan, bukan kunci KMS default. Anda harus memberikan Amazon SES izin untuk menggunakan kunci yang dikelola pelanggan dengan menambahkan pernyataan ke kebijakan kunci.

    Tempelkan pernyataan kebijakan berikut ke kebijakan kunci untuk mengizinkan Amazon SES menggunakan kunci yang dikelola pelanggan Anda.

    { "Sid": "AllowSESToDecrypt", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Decrypt", ], "Resource": "*" }
  • Gunakan CreateImportJoboperasi di Amazon SES API v2.

catatan

Contoh berikut menganggap bahwa Anda telah menginstal. AWS CLI Untuk informasi selengkapnya tentang menginstal dan mengonfigurasi AWS CLI, lihat Panduan Pengguna AWS Command Line Interface.

Di baris perintah, masukkan perintah berikut. Ganti s3bucket dengan nama bucket Amazon S3 dan s3object dengan nama objek Amazon S3.

aws sesv2 create-import-job --import-destination ContactListDestination={ContactListName=ExampleContactListName,ContactListImportAction=PUT} --import-data-source S3Url="s3://s3bucket/s3object",DataFormat=CSV

Panduan manajemen daftar dengan contoh

Panduan berikut memberikan contoh bagaimana Anda dapat menggunakan manajemen daftar untuk mencantumkan kontak Anda, memanfaatkan ListManagementOptions untuk menentukan daftar kontak dan nama topik di email Anda, dan cara memasukkan tautan berhenti berlangganan.

  1. Daftar kontak dengan menggunakan AWS CLI - Dengan menggunakan ListContactsoperasi untuk mengambil daftar semua kontak Anda yang telah berlangganan topik tertentu, bersama dengan SendEmailoperasi, yang mengizinkan Anda untuk mengirimkan mereka email.

    Di baris perintah, masukkan perintah berikut:

    aws sesv2 list-contacts --cli-input-json file://LIST-CONTACTS-JSON

    Di perintah sebelumnya, ganti LIST-CONTACTS-JSON dengan jalur ke file JSON Anda untuk permintaan Anda. ListContacts

    Contoh file JSON ListContacts input untuk permintaan adalah sebagai berikut:

    { "ContactListName": "ExampleContactListName", "Filter": { "FilteredStatus": "OPT_IN", "TopicFilter": { "TopicName": "Cycling", "UseDefaultIfPreferenceUnavailable": true } }, "PageSize": 50 }

    FilteredStatusMenunjukkan status langganan yang ingin Anda filter, antara OPT_IN atauOPT_OUT.

    TopicFilterIni adalah filter opsional yang menentukan topik mana yang Anda inginkan hasilnya, dan dalam contoh di atas, yaitu "Cycling.”

    UseDefaultIfPreferenceUnavailabledapat memiliki nilai true ataufalse. Jika true, preferensi default topik akan digunakan jika kontak tidak memiliki preferensi eksplisit untuk topik. Jika false, hanya kontak dengan preferensi yang diatur secara eksplisit dipertimbangkan untuk pemfilteran.

  2. Kirim email dengan ListManagementOptions diaktifkan - Setelah mencantumkan kontak dalam daftar Anda menggunakan ListContactsoperasi di atas, Anda dapat menggunakan SendEmailoperasi untuk mengirim email ke setiap kontak Anda dengan memanfaatkan ListManagementOptionsheader untuk menentukan daftar kontak dan nama topik Anda.

    Untuk digunakan ListManagementOptions dengan SendEmail operasi, termasuk contactListNamedan topicNameyang email milik (topicNameadalah opsional):

    ListManagementOptions: String contactListName String topicName

    Jika Anda menyertakan ListManagementOptions SendEmail permintaan Anda ke alamat email penerima yang tidak ada di daftar kontak Anda, maka kontak akan dibuat di daftar Anda secara otomatis.

    Amazon SES akan mementalkan email jika dikirim ke kontak yang tidak berlangganan di daftar kontak Anda, yang berarti Anda tidak perlu memperbarui SendEmail permintaan Anda untuk menghindari pengiriman ke kontak yang telah berhenti berlangganan.

  3. Tunjukkan lokasi untuk tautan berhenti berlangganan Anda - Saat memanfaatkan ListManagementOptionsAnda memiliki opsi untuk mengaktifkan Amazon SES untuk menambahkan tautan footer berhenti berlangganan di email Anda menggunakan {{amazonSESUnsubscribeUrl}} placeholder untuk menentukan di mana SES perlu memasukkan URL berhenti berlangganan. Penggantian placeholder didukung hanya untuk tipe konten HTML dan TEXT. Anda dapat menyertakan placeholder maksimum dua kali. Jika digunakan lebih dari dua kali, hanya dua kejadian pertama yang diganti. Untuk informasi selengkapnya, lihat Menggunakan manajemen berlangganan.

    Sebagai alternatif, jika Anda menggunakan antarmuka SMTP untuk mengirim email, Anda dapat menggunakan X-SES-LIST-MANAGEMENT-OPTIONS header untuk menentukan daftar dan nama topik.

    Untuk menentukan daftar dan nama topik saat mengirim email menggunakan antarmuka SMTP, tambahkan header email berikut pada pesan Anda:

    X-SES-LIST-MANAGEMENT-OPTIONS: {contactListName}; topic={topicName}