Массовая отправка писем
Статья создана
Обновлена 18 июня 2026 г.
С помощью метода SendBulkEmail можно отправить несколько шаблонных писем одним запросом. В запросе передается общий шаблон и набор писем к отправке. Для каждого письма можно указать адресатов, данные для подстановки в шаблон, заголовки и метки.
Перед началом работы
- Создайте сервисный аккаунт в том же каталоге, в котором находится адрес. Если вы создадите сервисный аккаунт и адрес в разных каталогах, при попытке отправить письмо возникнет ошибка.
- Назначьте сервисному аккаунту роль
postbox.sender. - Создайте статический ключ доступа. Надежно сохраните идентификатор и секретный ключ. После того как вы закроете окно, параметры секретного ключа станут недоступны.
- Настройте AWS CLI.
Отправить письма
-
Подготовьте файл
bulk-email.json:{ "FromEmailAddress": "Alice <alice@example.com>", "DefaultContent": { "Template": { "Headers": [ { "Name": "List-Unsubscribe", "Value": "<https://example.com/unsubscribe?user_id=sercet_hash>" } ], "TemplateContent": { "Subject": "Hello, {{name}}!", "Text": "Dear {{name}},\r\nYour order {{order_id}} is ready.", "Html": "<h1>Hello, {{name}}!</h1><p>Your order {{order_id}} is ready.</p>" }, "TemplateData": "{\"order_id\":\"0000\"}" } }, "BulkEmailEntries": [ { "Destination": { "ToAddresses": [ "bob@example.com" ] }, "ReplacementEmailContent": { "ReplacementTemplate": { "ReplacementTemplateData": "{\"name\":\"Bob\",\"order_id\":\"1234\"}" } }, "ReplacementHeaders": [ { "Name": "X-Customer-Segment", "Value": "new" } ], "ReplacementTags": [ { "Name": "customer", "Value": "bob" } ] }, { "Destination": { "ToAddresses": [ "charlie@example.com" ] }, "ReplacementEmailContent": { "ReplacementTemplate": { "ReplacementTemplateData": "{\"name\":\"Charlie\",\"order_id\":\"5678\"}" } } } ], "DefaultEmailTags": [ { "Name": "campaign", "Value": "orders" } ], "ConfigurationSetName": "ConfigSet" }Где:
FromEmailAddress— верифицированный адрес отправителя.DefaultContent.Template.TemplateContent— общий шаблон темы и тела письма.DefaultContent.Template.TemplateData— данные по умолчанию для заполнения шаблона. Значение должно быть JSON-объектом, сериализованным в строку.BulkEmailEntries— список писем к отправке. Для каждого элемента списка можно указатьReplacementTemplateData, чтобы переопределить данные шаблона для конкретного письма.DefaultEmailTagsиReplacementTags— метки письма. Метки изReplacementTagsдополняют или переопределяют метки изDefaultEmailTags.
Примечание
В шаблоне используется синтаксис Handlebars
с простыми подстановками. -
Отправьте письма:
aws sesv2 send-bulk-email \ --cli-input-json file://bulk-email.json \ --endpoint-url https://postbox.cloud.yandex.netРезультат:
{ "BulkEmailEntryResults": [ { "Status": "SUCCESS", "MessageId": "<идентификатор_письма>" }, { "Status": "SUCCESS", "MessageId": "<идентификатор_письма>" } ] }Порядок элементов в
BulkEmailEntryResultsсоответствует порядку элементов вBulkEmailEntries. Если отдельное письмо не принято, в соответствующем элементе результата вернется статус ошибки и описание в полеError.