update Обновлено в январе 2026 10 мин чтения

Настройки Amazon SES SMTP (2026)

Полное руководство по настройке Amazon Simple Email Service (SES) SMTP для транзакционных писем большого объёма. Включает региональные серверы, настройку учётных данных и рекомендации для production.

table_chart Краткая справка

SMTP сервер email-smtp.[region].amazonaws.com
Порт (STARTTLS) 587 Рекомендуется, 25, 2587
Порт (TLS Wrapper) 465, 2465
Шифрование Обязательно (TLS)
Имя пользователя Имя пользователя SMTP (НЕ IAM Access Key)
Пароль SMTP пароль (НЕ IAM Secret Key)
Лимит песочницы 200 сообщений/24ч, 1/сек
Лимит Production Без ограничений (увеличение по запросу)
Тарифы $0.10 за 1000 писем
warning

Важно: SMTP учётные данные ≠ IAM учётные данные

SMTP учётные данные SES — это НЕ ваши AWS IAM Access Key/Secret Key. Вы должны создать специальные SMTP учётные данные в консоли SES. Использование IAM учётных данных приведёт к ошибке аутентификации.

public Региональные SMTP серверы

Регион SMTP сервер
US East (N. Virginia) email-smtp.us-east-1.amazonaws.com
US East (Ohio) email-smtp.us-east-2.amazonaws.com
US West (Oregon) email-smtp.us-west-2.amazonaws.com
EU (Ireland) email-smtp.eu-west-1.amazonaws.com
EU (Frankfurt) email-smtp.eu-central-1.amazonaws.com
EU (London) email-smtp.eu-west-2.amazonaws.com
Asia Pacific (Mumbai) email-smtp.ap-south-1.amazonaws.com
Asia Pacific (Singapore) email-smtp.ap-southeast-1.amazonaws.com
Asia Pacific (Sydney) email-smtp.ap-southeast-2.amazonaws.com
Asia Pacific (Tokyo) email-smtp.ap-northeast-1.amazonaws.com

Совет: Выберите регион, ближайший к серверам вашего приложения, для минимальной задержки. С января 2019 года SMTP учётные данные привязаны к региону.

format_list_numbered Пошаговая настройка

1

Верифицируйте домен или email

  1. Перейдите в AWS Console → Amazon SES → Verified identities
  2. Click "Create identity"
  3. Choose "Domain" (recommended) or "Email address"
  4. Для домена: Добавьте DNS записи (DKIM, SPF)
  5. Дождитесь верификации (обычно 24-72 часа для доменов)
2

Создать SMTP-учётные данные

  1. Перейдите в AWS Console → Amazon SES → SMTP settings
  2. Click "Create SMTP credentials"
  3. Enter a name for the IAM user (e.g., "ses-smtp-user")
  4. Click "Create user"
  5. Сразу скачайте или скопируйте учётные данные

Критично: Пароль SMTP можно увидеть только один раз. Если потеряете его, придётся создать новые учётные данные.

3

Запросите Production доступ (выйдите из Sandbox)

Новые аккаунты SES находятся в режиме sandbox с ограниченной отправкой. Чтобы снять ограничения:

  1. Перейдите в AWS Console → Amazon SES → Account dashboard
  2. Click "Request production access"
  3. Заполните форму:
    • Тип писем: Транзакционные или Маркетинговые
    • URL сайта
    • Описание сценария использования
    • Как обрабатываете отклонения и жалобы
  4. Отправьте и ждите одобрения (24-48 часов)
4

Настройте ваше приложение

SMTP сервер

email-smtp.us-east-1.amazonaws.com

Порт

587 (STARTTLS)

Имя пользователя

Ваше SMTP имя пользователя

Пароль

Ваш SMTP пароль

code Примеры кода

# Python 3 - Amazon SES SMTP
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# Amazon SES SMTP Configuration
SES_SMTP_HOST = "email-smtp.us-east-1.amazonaws.com"
SES_SMTP_PORT = 587
SES_SMTP_USER = "YOUR_SMTP_USERNAME"  # NOT IAM Access Key!
SES_SMTP_PASS = "YOUR_SMTP_PASSWORD"  # NOT IAM Secret Key!

# Verified sender address
SENDER = "[email protected]"

def send_email(to_email, subject, body_text, body_html=None):
    msg = MIMEMultipart('alternative')
    msg['Subject'] = subject
    msg['From'] = SENDER
    msg['To'] = to_email

    # Add text and HTML parts
    msg.attach(MIMEText(body_text, 'plain'))
    if body_html:
        msg.attach(MIMEText(body_html, 'html'))

    try:
        server = smtplib.SMTP(SES_SMTP_HOST, SES_SMTP_PORT)
        server.starttls()
        server.login(SES_SMTP_USER, SES_SMTP_PASS)
        server.sendmail(SENDER, to_email, msg.as_string())
        server.quit()
        print("Email sent successfully!")
        return True
    except Exception as e:
        print(f"Error: {e}")
        return False

# Usage
send_email(
    "[email protected]",
    "Test from Amazon SES",
    "Hello from SES SMTP!"
)

speed Лимиты отправки и квоты

Статус аккаунта Дневной лимит Скорость отправки Примечания
Режим песочницы 200 1 писем/сек Можно отправлять только на верифицированные адреса
Production (начальный) 50,000 14 писем/сек По умолчанию после одобрения
Production (увеличенный) Без ограничений Индивидуально По запросу через AWS Support

Важные детали квоты

  • info Квоты основаны на получателях, а не сообщениях (1 письмо 10 людям = 10 получателей)
  • info Максимальный размер сообщения: 40 МБ (включая вложения)
  • info Квоты отдельные для каждого региона AWS
  • info EC2: Порт 25 ограничен по умолчанию. Используйте 587 или 465.

error Частые ошибки и решения

535

Неверные учётные данные

Ошибка аутентификации

Решение: Вы используете учётные данные IAM вместо SMTP учётных данных. Создайте новые SMTP учётные данные в консоли SES. Также убедитесь, что учётные данные соответствуют вашему региону.

554

Сообщение отклонено

Email или домен не верифицирован

Решение: В режиме sandbox и отправитель, и получатель должны быть верифицированы. Верифицируйте адреса в консоли SES или запросите production доступ.

454

Троттлинг - слишком много подключений

Превышена скорость отправки

Решение: Реализуйте экспоненциальную задержку. Уменьшите число параллельных подключений. Запросите увеличение лимита через AWS Support.

Connection Timeout

Таймаут подключения на EC2

Не удаётся подключиться к SES на порту 25

Решение: Порт 25 ограничен на EC2 по умолчанию. Используйте порт 587 или 465, либо запросите снятие ограничений на отправку email через поддержку AWS.

payments Тарифы

$0.10 за 1000 писем
62,000 бесплатных писем/месяц с EC2
$0.12 за ГБ вложений

Примечание: При отправке с Amazon EC2 первые 62 000 писем в месяц бесплатны (AWS Free Tier). Дополнительные письма стоят $0.10 за 1000.

help Часто задаваемые вопросы

Можно ли использовать IAM учётные данные для SMTP?

Нет. SMTP учётные данные SES отличаются от учётных данных IAM. Вы должны создать специальные SMTP учётные данные в консоли SES. Использование IAM Access Key/Secret Key приведёт к ошибке аутентификации.

Сколько времени занимает одобрение production доступа?

Обычно 24-48 часов. Предоставьте чёткое описание использования, объясните источники email и как обрабатываете отказы и жалобы. Расплывчатые или неполные запросы могут быть задержаны или отклонены.

Зависят ли SMTP учётные данные от региона?

Да, с января 2019. Учётные данные, созданные в us-east-1, работают только с email-smtp.us-east-1.amazonaws.com. Если нужно отправлять из нескольких регионов, создайте учётные данные в каждом регионе.

Что лучше использовать: SMTP или SES API?

Для больших объёмов (>100 писем/сек) SES API эффективнее. SMTP легче интегрировать с существующими приложениями. У обоих одинаковые лимиты отправки и цены.

Используете SES для холодной рассылки?

Bulko интегрируется с Amazon SES для автоматизированных email-кампаний с AI-персонализацией, ротацией SMTP и мониторингом доставляемости.