Sizə bir AWS hesabı və domeninizin DNS parametrlərinə çıxış lazım olacaq. SES bu siyahıdakı ən ucuz seçimdir (böyük fərqlə) və ən çox addım tələb edənidir.
Amazon-un rəsmi sənədləri: Domenin təsdiqlənməsi · SMTP məlumatlarının əldə edilməsi · Sandbox mühitindən çıxış
⭐ Biz SES-ə onun REST API-si vasitəsilə deyil, SMTP interfeysi üzərindən qoşuluruq. Məhz buna görə də sizdən AWS giriş açarı deyil, SMTP istifadəçi adı və şifrəsi tələb olunur. Hər iki yol tamamilə eyni mesajı çatdırır; SMTP yolu kənardan diaqnostikası çox çətin olan bütöv bir AWS sorğu imzalama problemləri sinfindən qaçmağa kömək edir və bu, Amazon-un məhz bizim kimi alətlərin istifadə edə bilməsi üçün təqdim etdiyi interfeysdir.
1. Bir region seçin və onda qalın
SES regionaldır. Aşağıdakı hər şey — təsdiqlənmiş domeniniz, giriş məlumatlarınız, göndərmə kvotanız — tək bir AWS regionuna aiddir və başqa heç bir regionda mövcud deyil.
Müştərilərinizə ən yaxın olanı seçin (Avropa üçün eu-west-1, Şimali Amerika üçün us-east-1) və onu qeyd edin. Domeninizi İrlandiyada təsdiqləyib, sonra Frankfurtda giriş məlumatları yaratmaq burada bir günortanı hədər yerə xərcləməyin ən geniş yayılmış yoludur və yaranan xəta regionlar haqqında heç nə bildirmir.
2. Domeninizi təsdiqləyin
Amazon SES konsolu → Identities → Create identity → Domain. mail.yourdomain.com kimi bir alt domen daxil edin.
Easy DKIM seçimini aktivləşdirin və RSA_2048_BIT seçin. SES sizə üç CNAME qeydi təqdim edir:
| Növ | Host |
|---|
CNAME | <token1>._domainkey.mail.yourdomain.com |
CNAME | <token2>._domainkey.mail.yourdomain.com |
CNAME | <token3>._domainkey.mail.yourdomain.com |
Hər üçünü əlavə edin. Təsdiqləmə adətən bir saat ərzində tamamlanır.
⭐ Həmçinin xüsusi MAIL FROM domeni (bounce.mail.yourdomain.com) aktivləşdirin və tələb olunan MX və SPF TXT qeydlərini əlavə edin. Bu olmadan zərf göndərəniniz amazonses.com olur, buna görə də SPF sizinlə deyil, Amazon ilə uyğunlaşır və siz yalnız DKIM-ə güvənməli olursunuz.
3. Sandbox mühitindən çıxın — insanların nəzərdən qaçırdığı addım budur
⛔⛔ Yeni SES hesabı sandbox mühitindədir və yalnız ayrıca təsdiqlədiyiniz ünvanlara göndəriş edə bilər. O, digər bütün mesajları qəbul edəcək və heç birini çatdırmayacaq.
Təsdiqləmə addımımızın aşkar etmək üçün nəzərdə tutulduğu uğursuzluq məhz budur: sandbox mühitində SES mesajınızı tamamilə adi bir uğur cavabı ilə qəbul edir və sonra onu çatdırmır. Quraşdırmamızı təsadüfən AWS-də təsdiqlədiyiniz bir ünvana test göndərərək yoxlasanız, bu işləyəcək — və sonra real müştəriyə gedən hər bir mesaj yoxa çıxacaq.
Hesab paneli → Request production access. Amazon nə göndərdiyinizi və geri qayıdan məktubları (bounces) necə idarə etdiyinizi soruşur; öz müştərilərinizə tranzaksiya bildirişləri göndərilməsi barədə bir neçə səmimi cümlə adətən 24 saat ərzində təsdiqlənir.
⭐ Bunu SES-i bura bağlamazdan əvvəl edin. Sonradan sazlanacaq (debug) heç bir şey olmur, çünki heç bir xəta baş vermir.
4. SMTP giriş məlumatlarını yaradın
SES konsolu → SMTP settings → Create SMTP credentials.
Bu, yalnız göndərmə icazəsi olan bir IAM istifadəçisi yaradır və sizə bir SMTP istifadəçi adı və bir SMTP şifrəsi verir.
⛔ Bunlar sizin AWS giriş açarınız və gizli açarınız deyil. Onlar xüsusi bir alqoritm vasitəsilə IAM gizli açarından əldə edilir və bir-birini əvəz edə bilməz. Bura AWS gizli giriş açarını yapışdırmaq hər dəfə autentifikasiyanın uğursuz olmasına səbəb olacaq və xəta sadəcə giriş məlumatlarının rədd edildiyini bildirəcək.
⚠️ Şifrə yalnız bir dəfə göstərilir. Səhifəni tərk etməzdən əvvəl CSV faylını endirin.
5. Onu Zinn®-də qoşun
İdarəetmə panelinizdə Email sending bölməsini açın:
- Təchizatçı — Amazon SES
- Bu domendən göndər —
mail.yourdomain.com
- AWS regionu — 1-ci addımdakı region, məsələn,
eu-west-1
- SMTP istifadəçi adı — 4-cü addımdan
- Port — 587 olaraq saxlayın
- SES SMTP şifrəsi — 4-cü addımdan
Hostu sizin üçün biz qururuq (email-smtp.<region>.amazonaws.com), ona görə də səhv yazıla biləcək heç bir host adı yoxdur.
6. Testi göndərin və kodu daxil edin
AWS-də təsdiqləmədiyiniz fərqli bir domendəki poçt qutusuna Send test message düyməsini sıxın — şəxsi Gmail ünvanı idealdır, çünki bu, sandbox mühitindən çıxdığınızı sübut edən ünvandır. Kodu oxuyun və daxil edin.
İşləmədikdə nə etməli
Real müştəriyə göndərərkən "Email address is not verified" xətası — siz hələ də sandbox mühitindəsiniz. Addım 3.
535 Authentication Credentials Invalid — SMTP giriş məlumatları əvəzinə AWS giriş açarınızdan istifadə etmisiniz (addım 4) və ya giriş məlumatları daxil etdiyinizdən fərqli bir regiona aiddir.
"Maximum sending rate exceeded" — yeni istehsalat (production) hesabı saniyədə 14 mesaj və gündə 50 000 mesaj ilə başlayır. Bu, kifayət qədər çox bildiriş deməkdir, lakin böyük bir müştəri bazasını köçürürsünüzsə, əvvəlcə limitin artırılmasını tələb edin.
Sınaq zamanı işlədi, lakin istehsalatda dayandı — SES Reputation panelini yoxlayın. Çatdırılmama (bounce) və ya şikayət nisbəti həddi aşdıqda Amazon avtomatik olaraq göndərişi dayandırır və köhnə müştəri siyahısı ilə bu həddi aşmaq olduqca asandır.