Ще Ви е необходим AWS акаунт и достъп до DNS настройките на Вашия домейн. SES е най-евтиният вариант в този списък с голяма преднина и този с най-много стъпки.
Собствената документация на Amazon: Потвърждаване на домейн · Получаване на SMTP данни за вход · Излизане от пясъчника (sandbox)
⭐ Свързваме се с SES през неговия SMTP интерфейс, а не през неговия REST API. Ето защо се изискват SMTP потребителско име и парола, а не AWS ключ за достъп. И двата пътя доставят абсолютно същото съобщение; този чрез SMTP избягва цял клас от проблеми с подписването на заявки в AWS, които са изключително трудни за диагностициране отвън, и именно това е интерфейсът, за който Amazon предоставя данни за вход точно с цел инструменти като нашия да могат да го използват.
1. Изберете регион и се придържайте към него
SES е регионален. Всичко по-долу — Вашият потвърден домейн, Вашите данни за вход, Вашата квота за изпращане — принадлежи към един AWS регион и не съществува в никой друг.
Изберете най-близкия до Вашите клиенти (eu-west-1 за Европа, us-east-1 за Северна Америка) и го отбележете. Потвърждаването на домейна Ви в Ирландия и последващото създаване на данни за вход във Франкфурт е най-честият начин да загубите цял следобед тук, а получената грешка не споменава нищо за региони.
2. Потвърдете домейна си
Amazon SES конзола → Identities → Create identity → Domain. Въведете поддомейн като например mail.yourdomain.com.
Включете Easy DKIM и изберете RSA_2048_BIT. SES Ви предоставя три CNAME записа:
| Type | Host |
|---|
CNAME | <token1>._domainkey.mail.yourdomain.com |
CNAME | <token2>._domainkey.mail.yourdomain.com |
CNAME | <token3>._domainkey.mail.yourdomain.com |
Добавете и трите. Потвърждаването обикновено завършва в рамките на един час.
⭐ Също така активирайте персонализиран MAIL FROM домейн (bounce.mail.yourdomain.com) и добавете MX и SPF TXT записите, които се изискват. Без това подателят на плика (envelope sender) е amazonses.com, така че SPF се съпоставя с Amazon, а не с Вас, и разчитате единствено на DKIM.
3. Излезте от пясъчника — това е стъпката, която хората пропускат
⛔⛔ Новият SES акаунт се намира в пясъчник (sandbox) и може да изпраща само до адреси, които сте потвърдили отделно. Той ще приема всичко останало и няма да достави нищо от него.
Точно това е повредата, която нашата стъпка за потвърждение цели да улови: в пясъчника SES приема Вашето съобщение с напълно нормален отговор за успех и след това го отхвърля. Ако потвърдите нашата конфигурация, като изпратите теста до адрес, който случайно сте потвърдили в AWS, той ще проработи — и след това всяко съобщение до реален клиент ще изчезне.
Табло за управление на акаунта → Request production access. Amazon пита какво изпращате и как обработвате върнатите съобщения (bounces); няколко искрени изречения за трансакционни известия до Вашите собствени клиенти обикновено се одобряват в рамките на 24 часа.
⭐ Направете това преди да свържете SES тук. След това няма какво да се дебъгва, защото нищо не се проваля.
4. Създайте SMTP данни за вход
SES конзола → SMTP settings → Create SMTP credentials.
Това създава IAM потребител с права само за изпращане и Ви предоставя SMTP потребителско име и SMTP парола.
⛔ Това не са Вашият AWS ключ за достъп и таен ключ. Те са извлечени от таен IAM ключ чрез специфичен алгоритъм и не са взаимозаменяеми. Поставянето на AWS таен ключ за достъп тук ще доведе до неуспешна автентикация всеки път, а грешката просто ще показва, че данните за вход са били отхвърлени.
⚠️ Паролата се показва само веднъж. Изтеглете CSV файла, преди да напуснете страницата.
5. Свържете го в Zinn®
Отворете Изпращане на имейли във Вашето табло за управление:
- Доставчик — Amazon SES
- Изпращане от този домейн —
mail.yourdomain.com
- AWS регион — регионът от стъпка 1, напр.
eu-west-1
- SMTP потребителско име — от стъпка 4
- Порт — оставете на 587
- SES SMTP парола — от стъпка 4
Ние генерираме хоста за Вас (email-smtp.<region>.amazonaws.com), така че няма как да сгрешите името на хоста при въвеждане.
6. Изпратете теста и въведете кода
Натиснете Изпращане на тестово съобщение до пощенска кутия на различен домейн, който не сте потвърдили в AWS — личен адрес в Gmail е идеален, защото точно той доказва, че сте извън пясъчника. Прочетете кода и го въведете.
Когато не работи
„Email address is not verified“ при изпращане до реален клиент — все още сте в пясъчника. Стъпка 3.
535 Authentication Credentials Invalid — използвали сте своя AWS ключ за достъп вместо SMTP данни за вход (стъпка 4), или данните за вход принадлежат към различен регион от въведения от Вас.
„Maximum sending rate exceeded“ — нов производствен акаунт започва с 14 съобщения в секунда и 50 000 на ден. Това е голям обем известия, но ако мигрирате голяма клиентска база, първо заявете увеличение.
Работеше при тестването, но спря в реална среда — проверете таблото за Репутация в SES. Amazon автоматично спира временно изпращането, когато процентът на отхвърлени съобщения или оплаквания премине техния праг, а той лесно може да бъде преминат със стар списък от клиенти.