База знания
Изпращайте имейли през собствения си 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) или оплаквания надхвърли техния праг, и е лесно да се надхвърли със стар списък с клиенти.
Все още изпитвате затруднения?
Поддръжката е включена във всеки план с отговори на вашия собствен език.
Свържете се с поддръжката → Всички статии →