Bir AWS hesabına ve alan adınızın DNS erişimine ihtiyacınız olacaktır. SES, bu listedeki açık ara en ucuz ve en çok adıma sahip seçenektir.
Amazon'un kendi belgeleri: Alan adı doğrulama · SMTP kimlik bilgilerini alma · Korumalı alandan (sandbox) çıkma
⭐ SES'e REST API üzerinden değil, SMTP arayüzü üzerinden bağlanıyoruz. Bu nedenle sizden bir AWS erişim anahtarı yerine SMTP kullanıcı adı ve parolası istenir. Her iki yöntem de tamamen aynı iletiyi iletir; SMTP yöntemi, dışarıdan teşhis edilmesi son derece can sıkıcı olan koca bir AWS istek imzalama sorunları sınıfını ortadan kaldırır ve Amazon tam da bizimki gibi araçların kullanabilmesi için kimlik bilgilerini bu arayüz için yayımlar.
1. Bir bölge seçin ve orada kalın
SES bölgeseldir. Aşağıdaki her şey — doğrulanmış alan adınız, kimlik bilgileriniz, gönderme kotanız — tek bir AWS bölgesine aittir ve başka hiçbir bölgede mevcut değildir.
Müşterilerinize en yakın olanı seçin (Avrupa için eu-west-1, Kuzey Amerika için us-east-1) ve not edin. Alan adınızı İrlanda'da doğrulayıp ardından Frankfurt'ta kimlik bilgileri oluşturmak burada bir öğleden sonrayı heba etmenin en yaygın yoludur ve ürettiği hata bölgeler hakkında hiçbir şey söylemez.
2. Alan adınızı doğrulayın
Amazon SES konsolu → Identities → Create identity → Domain. mail.alanadiniz.com gibi bir alt alan adı girin.
Easy DKIM seçeneğini açın ve RSA_2048_BIT seçeneğini belirleyin. SES size üç adet CNAME kaydı verir:
| Type | Host |
|---|
CNAME | <token1>._domainkey.mail.yourdomain.com |
CNAME | <token2>._domainkey.mail.yourdomain.com |
CNAME | <token3>._domainkey.mail.yourdomain.com |
Üçünü de ekleyin. Doğrulama genellikle bir saat içinde tamamlanır.
⭐ Ayrıca bir özel MAIL FROM alan adı (bounce.mail.yourdomain.com) etkinleştirin ve istediği MX ile SPF TXT kayıtlarını ekleyin. Bu olmadan zarf göndericiniz amazonses.com olur, bu nedenle SPF sizinle değil Amazon ile eşleşir ve yalnızca DKIM'e güvenmek zorunda kalırsınız.
3. Korumalı alandan (sandbox) çıkın — bu, kullanıcıların atladığı adımdır
⛔⛔ Yeni bir SES hesabı korumalı alandadır (sandbox) ve yalnızca ayrı olarak doğruladığınız adreslere gönderim yapabilir. Diğer her şeyi kabul eder ve hiçbirini teslim etmez.
Doğrulama adımımızın yakalamak için var olduğu hata tam olarak budur: Korumalı alanda SES, iletinizi tamamen sıradan bir başarı yanıtıyla alır ve ardından yok sayar. Kurulumumuzu AWS'de tesadüfen doğrulamış olduğunuz bir adrese test göndererek doğrularsanız çalışacaktır — ve ardından gerçek bir müşteriye giden her ileti kaybolacaktır.
Hesap kontrol paneli → Request production access. Amazon ne gönderdiğinizi ve geri dönen iletileri (bounce) nasıl yönettiğinizi sorar; kendi müşterilerinize yönelik işlemsel bildirimler hakkında bir iki dürüst cümle normalde 24 saat içinde onaylanır.
⭐ Bunu SES'i buraya bağlamadan önce yapın. Sonrasında hata ayıklanacak bir durum kalmaz, çünkü hiçbir şey hata vermez.
4. SMTP kimlik bilgileri oluşturun
SES konsolu → SMTP settings → Create SMTP credentials.
Bu işlem yalnızca gönderme iznine sahip bir IAM kullanıcısı oluşturur ve size bir SMTP kullanıcı adı ile bir SMTP parolası verir.
⛔ Bunlar sizin AWS erişim anahtarınız ve gizli anahtarınız değildir. Belirli bir algoritma ile bir IAM gizli anahtarından türetilirler ve birbirlerinin yerine kullanılamazlar. Buraya bir AWS gizli erişim anahtarı yapıştırmak her seferinde kimlik doğrulamasının başarısız olmasına yol açar ve hata yalnızca kimlik bilgilerinin reddedildiğini söyler.
⚠️ Parola yalnızca bir kez gösterilir. Sayfadan ayrılmadan önce CSV dosyasını indirin.
5. Zinn® üzerinde bağlayın
Kontrol panelinizde E-posta gönderimi bölümünü açın:
- Sağlayıcı — Amazon SES
- Bu alan adından gönder —
mail.yourdomain.com
- AWS bölgesi — 1. adımdaki bölge, örn.
eu-west-1
- SMTP kullanıcı adı — 4. adımdan
- Bağlantı noktası — 587 olarak bırakın
- SES SMTP parolası — 4. adımdan
Sunucu adresini sizin için oluşturuyoruz (email-smtp.<region>.amazonaws.com), bu sayede yanlış yazılabilecek bir sunucu adı yoktur.
6. Testi gönderin ve kodu girin
AWS'de doğrulamadığınız farklı bir alan adındaki bir gelen kutusuna Test iletisi gönder butonuna basın — kişisel bir Gmail adresi idealdir, çünkü korumalı alandan çıktığınızı kanıtlayan adres budur. Kodu okuyun ve girin.
Çalışmadığı durumlar
Gerçek bir müşteriye gönderim yaparken "Email address is not verified" hatası — hâlâ korumalı alandasınız (sandbox). 3. Adım.
535 Authentication Credentials Invalid — SMTP kimlik bilgileri yerine AWS erişim anahtarınızı kullandınız (4. adım) veya kimlik bilgileri girdiğinizden farklı bir bölgeye ait.
"Maximum sending rate exceeded" — yeni bir üretim hesabı saniyede 14 ileti ve günde 50.000 ileti ile başlar. Bu çok fazla sayıda bildirim demektir, ancak büyük bir müşteri tabanını taşıyorsanız öncelikle bir artış talep edin.
Test sırasında çalıştı ve üretimde durdu — SES Reputation kontrol panelini kontrol edin. Amazon, bir geri dönüş veya şikayet oranı kendi eşik değerini aştığında gönderimi otomatik olarak duraklatır ve eski bir müşteri listesiyle bu eşiği aşmak oldukça kolaydır.