База знания

Изпращайте имейли през собствения си Amazon SES акаунт

Свържете собствения си Amazon SES акаунт чрез SMTP: избор на един регион и оставане в него, Easy DKIM, излизане от пясъчника ПРЕДИ да се свържете и защо SMTP идентификационните данни не са вашият AWS достъпен ключ.

Ще ви трябват AWS акаунт и достъп до DNS на вашия домейн. SES е най-евтината опция в този списък с голяма преднина и тази с най-много стъпки.

Официална документация на Amazon: Verifying a domain · Obtaining SMTP credentials · Moving out of the 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 записите, които той изисква. Без него вашият подател в плика е amazonses.com, така че SPF се привежда в съответствие с Amazon, а не с вас, и разчитате само на DKIM.

3. Излезте от пясъчника — това е стъпката, която хората пропускат

⛔⛔ Нов SES акаунт е в пясъчник (sandbox) и може да изпраща съобщения само до адреси, които сте верифицирали поотделно. Той ще приеме всичко останало и няма да достави нито едно.

Това е точно неизправността, която нашата стъпка за верификация съществува, за да улови: в пясъчника SES приема вашето съобщение с напълно обикновен успешен отговор и след това го отхвърля. Ако верифицирате нашата настройка, като изпратите тестовото съобщение до адрес, който случайно сте верифицирали в AWS, то ще работи — и след това всяко съобщение до реален клиент ще изчезне.

Табло за управление на акаунта (Account dashboard) → Request production access. Amazon пита какво изпращате и как обработвате върнатите имейли (bounces); няколко честни изречения за транзакционни нотификации до вашите собствени клиенти обикновено се одобряват в рамките на 24 часа.

⭐ Направете това преди да свържете SES тук. След това няма какво да се отстранява като грешки, защото нищо не се проваля.

4. Създайте SMTP идентификационни данни

SES конзола → SMTP settings → Create SMTP credentials.

Това създава IAM потребител с разрешение само за изпращане и ви дава SMTP потребителско име (SMTP username) и SMTP парола (SMTP password).

Това не са вашият AWS ключ за достъп и секретен ключ. Те се извличат от IAM секрет чрез специфичен алгоритъм и не са взаимозаменяеми. Поставянето на AWS секретен ключ за достъп тук ще проваля автентикацията всеки път, а грешката просто ще показва, че идентификационните данни са били отхвърлени.

⚠️ Паролата се показва веднъж. Изтеглете CSV файла, преди да напуснете страницата.

5. Свържете го в Zinn®

Отворете Изпращане на имейл във вашето табло за управление:

  • Доставчик (Provider) — Amazon SES
  • Изпращане от този домейн (Send from this domain)mail.yourdomain.com
  • AWS регион (AWS region) — регионът от стъпка 1, напр. eu-west-1
  • SMTP потребителско име (SMTP username) — от стъпка 4
  • Порт (Port) — оставете на 587
  • SES SMTP парола (SES SMTP password) — от стъпка 4

Ние изграждаме хоста вместо вас (email-smtp.<region>.amazonaws.com), така че няма хостнейм, който да бъде сгрешен при писане.

6. Изпратете теста и въведете кода

Натиснете Изпращане на тестово съобщение (Send test message) до входяща кутия на различен домейн, който не сте верифицирали в AWS — личен имейл адрес в Gmail е идеален, защото той е този, който доказва, че сте извън пясъчника. Прочетете кода и го въведете.

Когато не работи

"Email address is not verified" при изпращане до реален клиент — все още сте в пясъчника. Стъпка 3.

535 Authentication Credentials Invalid — използвали сте вашия AWS ключ за достъп вместо SMTP идентификационните данни (стъпка 4) или идентификационните данни принадлежат на различен регион от този, който сте въвели.

"Maximum sending rate exceeded" — нов производствен акаунт започва с 14 съобщения в секунда и 50 000 на ден. Това е голямо количество нотификации, но ако мигрирате голяма клиентска база, първо заявете увеличение.

Работеше при тестване и спря в производство — проверете таблото за управление на репутацията (Reputation) на SES. Amazon спира автоматично изпращането, когато процентът на върнати имейли (bounces) или оплаквания надхвърли техния праг, и е лесно да се надхвърли със стар списък с клиенти.

Все още изпитвате затруднения?

Поддръжката е включена във всеки план с отговори на вашия собствен език.

Свържете се с поддръжката Всички статии
Изпращайте имейли през собствения си Amazon SES акаунт