Anda akan memerlukan akun AWS dan akses ke DNS domain Anda. SES adalah opsi termurah dalam daftar ini dengan selisih yang jauh, dan opsi dengan langkah terbanyak.
Dokumentasi resmi Amazon: Memverifikasi domain · Mendapatkan kredensial SMTP · Keluar dari sandbox
⭐ Kami terhubung ke SES melalui antarmuka SMTP-nya, bukan REST API-nya. Itulah sebabnya Anda dimintai nama pengguna dan kata sandi SMTP, bukan kunci akses AWS. Kedua jalur tersebut mengirimkan pesan yang sama persis; jalur SMTP menghindari seluruh kelas masalah penandatanganan permintaan AWS yang sangat sulit didiagnosis dari luar, dan ini adalah antarmuka yang kredensialnya diterbitkan oleh Amazon secara khusus agar alat seperti milik kami dapat menggunakannya.
1. Pilih satu wilayah dan tetap gunakan wilayah tersebut
SES bersifat regional. Semua hal di bawah ini — domain terverifikasi Anda, kredensial Anda, kuota pengiriman Anda — dimiliki oleh satu wilayah AWS dan tidak ada di wilayah lain mana pun.
Pilih wilayah yang paling dekat dengan klien Anda (eu-west-1 untuk Eropa, us-east-1 untuk Amerika Utara) dan catat. Memverifikasi domain Anda di Irlandia lalu membuat kredensial di Frankfurt adalah cara paling umum untuk membuang-buang waktu sepanjang sore di sini, dan kesalahan yang ditampilkannya tidak menyebutkan apa pun tentang wilayah.
2. Verifikasi domain Anda
Konsol Amazon SES → Identities → Create identity → Domain. Masukkan subdomain seperti mail.yourdomain.com.
Aktifkan Easy DKIM dan pilih RSA_2048_BIT. SES memberi Anda tiga data CNAME:
| Type | Host |
|---|
CNAME | <token1>._domainkey.mail.yourdomain.com |
CNAME | <token2>._domainkey.mail.yourdomain.com |
CNAME | <token3>._domainkey.mail.yourdomain.com |
Tambahkan ketiganya. Verifikasi biasanya selesai dalam waktu satu jam.
⭐ Aktifkan juga domain MAIL FROM khusus (bounce.mail.yourdomain.com) dan tambahkan data MX serta data SPF TXT yang diminta. Tanpa itu, pengirim amplop Anda adalah amazonses.com, sehingga SPF beraliansi dengan Amazon alih-alih dengan Anda, dan Anda hanya mengandalkan DKIM semata.
3. Keluar dari sandbox — ini adalah langkah yang sering dilewatkan orang
⛔⛔ Akun SES baru berada di dalam sandbox dan hanya dapat mengirim ke alamat yang telah Anda verifikasi secara terpisah. Akun tersebut akan menerima alamat lainnya tetapi tidak akan mengirimkan satu pun darinya.
Ini tepatnya merupakan kegagalan yang dirancang untuk ditangkap oleh langkah verifikasi kami: di dalam sandbox, SES menerima pesan Anda dengan respons sukses yang tampak sangat normal lalu membuangnya. Jika Anda memverifikasi penyiapan kami dengan mengirimkan pengujian ke alamat yang kebetulan telah Anda verifikasi di AWS, pengiriman tersebut akan berhasil — dan kemudian setiap pesan ke klien sungguhan akan lenyap.
Dasbor akun → Request production access. Amazon menanyakan apa yang Anda kirimkan dan bagaimana Anda menangani pentalan; beberapa kalimat jujur tentang pemberitahuan transaksional kepada klien Anda sendiri biasanya disetujui dalam waktu 24 jam.
⭐ Lakukan ini sebelum Anda menghubungkan SES di sini. Tidak ada yang perlu didebug setelahnya, karena tidak ada yang gagal.
4. Buat kredensial SMTP
Konsol SES → SMTP settings → Create SMTP credentials.
Ini akan membuat pengguna IAM dengan izin khusus kirim dan memberi Anda nama pengguna SMTP serta kata sandi SMTP.
⛔ Ini bukanlah kunci akses dan rahasia AWS Anda. Kredensial ini diturunkan dari rahasia IAM melalui algoritme khusus dan keduanya tidak dapat saling menggantikan. Menempelkan kunci akses rahasia AWS di sini akan menyebabkan autentikasi selalu gagal, dan kesalahan tersebut hanya akan menyatakan bahwa kredensial ditolak.
⚠️ Kata sandi hanya ditampilkan satu kali. Unduh CSV sebelum Anda meninggalkan halaman tersebut.
5. Hubungkan di Zinn®
Buka Pengiriman email di dasbor Anda:
- Penyedia — Amazon SES
- Kirim dari domain ini —
mail.yourdomain.com
- Wilayah AWS — wilayah dari langkah 1, mis.
eu-west-1
- Nama pengguna SMTP — dari langkah 4
- Port — biarkan pada 587
- Kata sandi SMTP SES — dari langkah 4
Kami membuatkan host untuk Anda (email-smtp.<region>.amazonaws.com), jadi tidak ada nama host yang berisiko salah ketik.
6. Kirim pengujian dan masukkan kodenya
Tekan Kirim pesan uji coba ke kotak masuk di domain berbeda yang belum Anda verifikasi di AWS — alamat Gmail pribadi sangat ideal, karena alamat inilah yang membuktikan bahwa Anda sudah keluar dari sandbox. Baca kodenya dan masukkan.
Saat terjadi masalah
"Email address is not verified" saat mengirim ke klien sungguhan — Anda masih berada di dalam sandbox. Buka Langkah 3.
535 Authentication Credentials Invalid — Anda menggunakan kunci akses AWS alih-alih kredensial SMTP (langkah 4), atau kredensial tersebut milik wilayah yang berbeda dari wilayah yang Anda masukkan.
"Maximum sending rate exceeded" — akun produksi baru dimulai dengan 14 pesan per detik dan 50.000 per hari. Itu adalah jumlah pemberitahuan yang sangat banyak, tetapi jika Anda memigrasikan basis klien yang besar, mintalah peningkatan kuota terlebih dahulu.
Berhasil dalam pengujian dan berhenti di produksi — periksa dasbor Reputasi SES. Amazon menjeda pengiriman secara otomatis ketika tingkat pentalan atau keluhan melampaui batas ambang mereka, dan batas itu mudah terlampaui dengan daftar klien yang lama.