Настройки Amazon SES SMTP (2026)
Полное руководство по настройке Amazon Simple Email Service (SES) SMTP для отправки транзакционных писем большого объёма.
table_chart Краткая справка
| SMTP сервер | email-smtp.[region].amazonaws.com |
| Порт (STARTTLS) | 587 Рекомендуется, 25, 2587 |
| Порт (TLS Wrapper) | 465, 2465 |
| Описание | Обязательно (TLS) |
| Имя пользователя | Имя пользователя (НЕ IAM Access Key) |
| Пароль | Пароль (НЕ IAM Secret Key) |
| Лимит песочницы | 200 сообщений/24ч, 1/сек |
| Продукт | Без ограничений (по запросу) |
| Тарифы | $0.10 за 1000 писем |
Важно: SMTP учётные данные ≠ IAM учётные данные
SMTP учётные данные SES — это НЕ ваши AWS IAM Access Key/Secret Key. Вы должны создать специальные SMTP учётные данные в консоли SES.
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 |
Совет: Выберите ближайший к вашим серверам регион для минимальной задержки. SMTP учётные данные привязаны к региону.
format_list_numbered Пошаговая настройка
Проверяет, может ли домен получать email
- Перейдите в AWS Console → Amazon SES → Verified identities
- Click "Create identity"
- Choose "Domain" (recommended) or "Email address"
- Для домена: Добавьте DNS записи (DKIM, SPF)
- Дождитесь верификации (обычно 24-72 часа для доменов)
Только контент
- Перейдите в AWS Console → Amazon SES → SMTP settings
- Click "Create SMTP credentials"
- Enter a name for the IAM user (e.g., "ses-smtp-user")
- Click "Create user"
- Сразу скачайте или скопируйте учётные данные
Критично: Пароль SMTP можно увидеть только один раз. Если потеряете его, придётся создать новые учётные данные.
Запросите Production доступ (выйдите из Sandbox)
Новые аккаунты SES находятся в режиме sandbox с ограниченной отправкой. Чтобы снять ограничения:
- Перейдите в AWS Console → Amazon SES → Account dashboard
- Click "Request production access"
- Заполните форму:
- Тип писем: Транзакционные или Маркетинговые
- URL сайта
- Описание
- Как обрабатываете отклонения и жалобы
- Отправьте и ждите одобрения (24-48 часов)
Настройте ваше приложение
email-smtp.us-east-1.amazonaws.com
587 (STARTTLS)
Ваше имя
Подтвердите пароль
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 = "sender@yourdomain.com"
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(
"recipient@example.com",
"Test from Amazon SES",
"Hello from SES SMTP!"
)
speed Лимиты отправки и квоты
| Аккаунт | Дневной лимит | Отправка | Примечание: |
|---|---|---|---|
| Режим песочницы | 200 |
1 писем | Можно отправлять только на верифицированные адреса |
| Production (начальный) | 50,000 |
14 писем | По умолчанию после одобрения |
| Production (увеличенный) | Без ограничений | По запросу | Поддержка возобновления |
Детали кампании
- info Квоты основаны на получателях, а не сообщениях (1 письмо 10 людям = 10 получателей)
- info Максимальный размер сообщения: 40 МБ (включая вложения)
- info Квоты отдельные для каждого региона AWS
- info EC2: Порт 25 ограничен по умолчанию. Используйте 587 или 465.
error Частые ошибки и решения
535
Неверные учётные данные
Ошибка аутентификации
Решение: Вы используете IAM учётные данные вместо SMTP. Создайте новые SMTP учётные данные в консоли SES > SMTP settings.
554
Сообщение отклонено
Email или домен не верифицирован
Решение: В режиме sandbox и отправитель, и получатель должны быть верифицированы. Верифицируйте адреса в консоли SES или запросите production доступ.
454
Превышение лимита подключений
Превышена скорость отправки
Решение: Реализуйте экспоненциальную задержку. Уменьшите число параллельных подключений. Запросите увеличение лимита через AWS Support.
Connection Timeout
Таймаут подключения на EC2
Не удаётся подключиться к SES на порту 25
Решение: Порт 25 ограничен на EC2 по умолчанию. Используйте порт 587 или 465, или запросите снятие ограничений в настройках EC2.
payments Тарифы
Примечание: При отправке с Amazon EC2 первые 62 000 писем в месяц бесплатны (AWS Free Tier). Дополнительные письма стоят $0.10 за 1000.
help Часто задаваемые вопросы
Можно ли использовать IAM учётные данные для SMTP?
Нет. SMTP учётные данные SES отличаются от IAM. Вы должны создать специальные SMTP учётные данные в консоли SES в разделе SMTP Settings.
Сколько времени занимает одобрение production доступа?
Обычно 24-48 часов. Предоставьте чёткое описание использования, объясните источники email и как обрабатываете отказы и жалобы.
Зависят ли SMTP учётные данные от региона?
Да, с января 2019. Учётные данные из us-east-1 работают только с email-smtp.us-east-1.amazonaws.com. Создайте учётные данные в каждом нужном регионе.
Что лучше использовать: SMTP или SES API?
Для больших объёмов (>100 писем/сек) SES API эффективнее. SMTP легче интегрировать с существующими приложениями.
Холодная рассылка
Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией