send-raw-email
Описание
Составляет сообщение электронной почты и немедленно помещает его в очередь для отправки.
Эта операция более гибкая, чем операция SendEmail. При использовании операции SendRawEmail можно указать заголовки сообщения, а также его содержимое. Эта гибкость полезна, например, когда необходимо отправить сообщение MIME с несколькими частями (например, сообщение, содержащее как текстовую, так и HTML-версию). Также можно использовать эту операцию для отправки сообщений, содержащих вложения.
Операция SendRawEmail имеет следующие требования:
- Можно отправлять электронную почту только с подтверждённых адресов электронной почты или доменов. Если вы попытаетесь отправить электронную почту с адреса, который не подтверждён, операция завершится ошибкой «Адрес электронной почты не подтверждён».
- Если ваша учётная запись всё ещё находится в песочнице Amazon SES, вы можете отправлять электронную почту только другим подтверждённым адресам в вашей учётной записи или адресам, связанным с имитатором почтового ящика Amazon SES.
- Максимальный размер сообщения, включая вложения, составляет 10 МБ.
- Каждое сообщение должно содержать как минимум один адрес получателя. Адрес получателя включает любой адрес в строках To:, CC: или BCC:.
- Если вы отправляете одно сообщение нескольким адресам получателя, и один из адресов получателя не имеет допустимого формата (то есть не имеет формат ИмяПользователя@[Поддомен.]Домен.ДоменВысшегоУровня ), Amazon SES отклоняет всё сообщение, даже если другие адреса являются допустимыми.
- Каждое сообщение может содержать до 50 адресов получателей в строках To:, CC: или BCC:. Если вам необходимо отправить одно сообщение более чем 50 получателям, необходимо разбить список адресов получателей на группы по менее чем 50 получателей и отправить отдельные сообщения каждой группе.
- Amazon SES позволяет указать кодировку Content-Transfer-Encoding 8-бит для частей сообщения MIME. Однако, если Amazon SES необходимо изменить содержимое вашего сообщения (например, если используется отслеживание открытий и кликов), кодировка 8-бит не сохраняется. По этой причине мы настоятельно рекомендуем кодировать всё содержимое, которое не является 7-битной ASCII. Более подробную информацию см. в разделе MIME Encoding в Руководстве разработчика Amazon SES.
Кроме того, при использовании операции SendRawEmail следует учитывать следующее:
- Хотя вы можете настраивать заголовки сообщения при использовании операции
SendRawEmail, Amazon SES автоматически применяет свои собственные заголовкиMessage-IDиDate; если вы передали эти заголовки при создании сообщения, они перезаписываются значениями, предоставляемыми Amazon SES. - Если вы используете авторизацию отправки от имени другого пользователя,
SendRawEmailпозволяет указать идентификатор кросс-аккаунта для параметров Source, From и Return-Path электронного письма двумя способами: можно передать необязательные параметрыSourceArn,FromArnи/илиReturnPathArn, или можно включить следующие заголовки X в заголовок вашего необработанного электронного письма:X-SES-SOURCE-ARNX-SES-FROM-ARNX-SES-RETURN-PATH-ARN
Предупреждение
Не включайте эти заголовки X в подпись DKIM. Amazon SES удаляет их перед отправкой электронного письма.Если вы укажете только параметр SourceIdentityArn, Amazon SES установит адреса From и Return-Path для того же идентификатора, который вы указали.
Для получения дополнительной информации об авторизации отправки см. раздел «Использование авторизации отправки с Amazon SES» в Руководстве разработчика Amazon SES.
- Для каждого отправляемого сообщения общее количество получателей (включая каждого получателя в полях To:, CC: и BCC:) учитывается по отношению к максимальному числу электронных писем, которые вы можете отправить в течение 24 часов (ваш квота на отправку). Более подробную информацию о квотах на отправку в Amazon SES см. в разделе «Управление лимитами отправки Amazon SES» в Руководстве разработчика Amazon SES.
См. также: Документация API AWS
Синтаксис
send-raw-email
[--source <value>]
[--destinations <value>]
--raw-message <value>
[--from-arn <value>]
[--source-arn <value>]
[--return-path-arn <value>]
[--tags <value>]
[--configuration-set-name <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--source (строка)
Электронный адрес отправителя. Если вы не предоставите значение для этого параметра, вы должны указать адрес «От кого» в сыром тексте сообщения. (Вы также можете указать оба.)
Примечание
Amazon SES не поддерживает расширение SMTPUTF8, как описано в `RFC6531 <https://tools.ietf.org/html/rfc6531>`__. По этой причине строка электронного адреса должна быть в кодировке 7-битный ASCII. Если вы хотите отправлять или получать электронные письма с адресами, содержащими символы Юникода в доменной части адреса, вы должны закодировать домен с помощью Punycode. Punycode не разрешен в локальной части электронного адреса (части перед знаком @) и в имени «дружественного отправителя». Если вы хотите использовать символы Юникода в имени «дружественного отправителя», вы должны закодировать имя «дружественного отправителя» с использованием синтаксиса MIME encoded-word, как описано в Отправка необработанного электронного письма с помощью API Amazon SES . Более подробную информацию о Punycode см. в RFC 3492 .Если вы укажете параметр Source и у вас включена переадресация отзывов, то сообщения об ошибках и жалобы отправляются на этот электронный адрес. Это имеет приоритет над любым заголовком Return-Path, который вы могли включить в сыром тексте сообщения.
--destinations (список)
Список получателей сообщения, состоящий из адресов To:, CC: и BCC:.
(строка)
Синтаксис:
"string" "string" ...
--raw-message (структура)
Само сырое электронное сообщение. Сообщение должно соответствовать следующим критериям:
- Сообщение должно содержать заголовок и тело, разделенные пустой строкой.
- Все необходимые поля заголовка должны быть присутствовать в сообщении.
- Каждая часть составного MIME-сообщения должна быть отформатирована должным образом.
- Вложения должны быть типа контента, поддерживаемого Amazon SES. Список недопустимых типов содержимого см. в разделе Неподдерживаемые типы вложений в руководстве разработчика Amazon SES .
- Весь текст должен быть закодирован в base64.
- Если какие-либо части MIME вашего сообщения содержат контент, выходящий за рамки диапазона 7-битного ASCII, мы настоятельно рекомендуем закодировать этот контент. Более подробную информацию см. в разделе Отправка необработанного электронного письма в руководстве разработчика Amazon SES .
- В соответствии с RFC 5321 максимальная длина каждой строки текста, включая <CRLF>, не должна превышать 1000 символов.
Данные -> (байтовый массив)
Необработанные данные сообщения. Эти данные необходимо закодировать в base64, если вы напрямую обращаетесь к Amazon SES через интерфейс HTTPS. Если вы используете SDK Amazon Web Services, SDK позаботится об их кодировании в base64 за вас. Во всех случаях клиент должен убедиться, что формат сообщения соответствует стандартам электронной почты Интернет, касающимся полей заголовков электронных писем, типов MIME и кодирования MIME.
Заголовки To:, CC: и BCC: в сыром сообщении могут содержать список группы.
Если вы используете SendRawEmail с отправкой по доверенности, вы можете включить X-заголовки в сыром сообщении, чтобы указать адреса «Источник», «От кого» и «Обратный путь». Более подробную информацию см. в документации по SendRawEmail .
Предупреждение
Не включайте эти X-заголовки в цифровую подпись DKIM, так как они удаляются Amazon SES перед отправкой электронного письма.Дополнительную информацию см. в руководстве разработчика Amazon SES.
Сокращенный синтаксис:
Data=blob
Синтаксис JSON:
{
"Data": blob
}
--from-arn (строка)
Этот параметр используется только для отправки по доверенности. Это ARN идентификатора, связанного с политикой отправки по доверенности, которая позволяет указать определенный адрес «От кого» в заголовке необработанного электронного письма.
Вместо использования этого параметра вы можете использовать X-заголовок X-SES-FROM-ARN в сыром сообщении электронного письма. Если вы используете и параметр FromArn, и соответствующий X-заголовок, Amazon SES использует значение параметра FromArn.
Примечание
Дополнительную информацию о том, когда использовать этот параметр, см. в описанииSendRawEmail в этом руководстве или в руководстве разработчика Amazon SES.--source-arn (строка)
Этот параметр используется только для отправки по доверенности. Это ARN идентификатора, связанного с политикой отправки по доверенности, которая разрешает отправку по электронному адресу, указанному в параметре Source.
Например, если владелец example.com (с ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) прикрепляет политику, которая разрешает отправку от user@example.com, то вы должны указать SourceArn как arn:aws:ses:us-east-1:123456789012:identity/example.com, а Source как user@example.com.
Вместо использования этого параметра вы можете использовать X-заголовок X-SES-SOURCE-ARN в сыром сообщении электронного письма. Если вы используете и параметр SourceArn, и соответствующий X-заголовок, Amazon SES использует значение параметра SourceArn.
Примечание
Дополнительную информацию о том, когда использовать этот параметр, см. в описанииSendRawEmail в этом руководстве или в руководстве разработчика Amazon SES.--return-path-arn (строка)
Этот параметр используется только для отправки по доверенности. Это ARN идентификатора, связанного с политикой отправки по доверенности, которая разрешает использование электронного адреса, указанного в параметре ReturnPath.
Например, если владелец example.com (с ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) прикрепляет политику, разрешающую использование feedback@example.com, то вы должны указать ReturnPathArn как arn:aws:ses:us-east-1:123456789012:identity/example.com, а ReturnPath как feedback@example.com.
Вместо использования этого параметра вы можете использовать X-заголовок X-SES-RETURN-PATH-ARN в сыром сообщении электронного письма. Если вы используете и параметр ReturnPathArn, и соответствующий X-заголовок, Amazon SES использует значение параметра ReturnPathArn.
Примечание
Дополнительную информацию о том, когда использовать этот параметр, см. в описанииSendRawEmail в этом руководстве или в руководстве разработчика Amazon SES.--tags (список)
Список тегов в формате имя/значение для применения к электронному письму, отправленному с помощью SendRawEmail. Теги соответствуют характеристикам электронного письма, которые вы определяете, чтобы вы могли публиковать события отправки электронных писем.
(структура)
Содержит имя и значение тега, который можно предоставить SendEmail или SendRawEmail для применения к электронному письму.
Теги сообщений, которые вы используете с наборами конфигурации, позволяют публиковать события отправки электронных писем. Дополнительную информацию об использовании наборов конфигурации см. в руководстве разработчика Amazon SES.
Имя -> (строка)
Имя тега. Имя должно соответствовать следующим требованиям:
- Содержать только буквы ASCII (a-z, A-Z), цифры (0-9), символы подчеркивания (_) или дефисы (-).
- Содержать не более 256 символов.
Значение -> (строка)
Значение тега. Значение должно соответствовать следующим требованиям:
- Содержать только буквы ASCII (a-z, A-Z), цифры (0-9), символы подчеркивания (_) или дефисы (-).
- Содержать не более 256 символов.
Сокращенный синтаксис:
Name=string,Value=string ...
Синтаксис JSON:
[
{
"Name": "string",
"Value": "string"
}
...
]
--configuration-set-name (строка)
SendRawEmail.--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка соответствует формату, предоставленному --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения перепишут значения, предоставленные JSON. Передавать произвольные двоичные значения с помощью JSON-значения в строке нельзя, так как строка будет интерпретироваться буквально. Не может быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. Если указано без значения или со значением input, выводит пример JSON-ввода, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если указано yaml-input, выведет пример YAML-ввода, который можно использовать с --cli-input-yaml. Если указано значение output, выполняет проверку входных данных команды и возвращает JSON-вывод примера для этой команды. Сгенерированный JSON-скелет не стабилен между версиями AWS CLI и не гарантируется обратная совместимость в сгенерированном JSON-скелете.
Общие параметры
--debug (boolean)
Включить отладочную запись журнала.
--endpoint-url (string)
Переопределить URL по умолчанию команды указанным URL.
--no-verify-ssl (boolean)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.
--no-paginate (boolean)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (string)
Стиль форматирования вывода команд.
- json
- text
- table
- yaml
- yaml-stream
--query (string)
Запрос JMESPath для фильтрации данных ответа.
--profile (string)
Использовать определённый профиль из файла учетных данных.
--region (string)
Регион для использования. Переопределяет настройки конфигурации/среды.
--version (string)
Отобразить версию этого инструмента.
--color (string)
Включить/выключить цветной вывод.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент указан.
--ca-bundle (string)
Файл сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (int)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.
--cli-binary-format (string)
Стиль форматирования, используемый для двоичных блоков. По умолчанию используется формат base64. Формат base64 ожидает, что двоичные блоки будут предоставлены в виде закодированной в base64 строки. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, которое сопоставляется с двоичным блоком fileb:// всегда будет обрабатываться как двоичное и будет использовать содержимое файла непосредственно независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (boolean)
Отключить пейджер CLI для вывода.
--cli-auto-prompt (boolean)
Автоматически запросить параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматический запрос параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, во всех примерах используются правила цитирования Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Для отправки сырого сообщения электронной почты с помощью Amazon SES
В следующем примере используется команда send-raw-email для отправки сообщения электронной почты с текстовым вложением:
aws ses send-raw-email \
--cli-binary-format raw-in-base64-out \
--raw-message file://message.json
Вывод:
{
"MessageId": "EXAMPLEf3f73d99b-c63fb06f-d263-41f8-a0fb-d0dc67d56c07-000000"
}
Сырое сообщение — это структура данных JSON, сохранённая в файле message.json в текущем каталоге. Она содержит следующее:
{
"Data": "From: sender@example.com\nTo: recipient@example.com\nSubject: Test email sent using the AWS CLI (contains an attachment)\nMIME-Version: 1.0\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\n\n--NextPart\nContent-Type: text/plain\n\nThis is the message body.\n\n--NextPart\nContent-Type: text/plain;\nContent-Disposition: attachment; filename=\"attachment.txt\"\n\nThis is the text in the attachment.\n\n--NextPart--"
}
Как видно, «Data» — это одна длинная строка, содержащая всё содержимое сырого сообщения электронной почты в формате MIME, включая вложение под названием attachment.txt.
Замените sender@example.com и recipient@example.com на нужные адреса. Обратите внимание, что адрес электронной почты отправителя должен быть проверен в Amazon SES. До получения доступа к Amazon SES в режиме производства также необходимо проверить адрес электронной почты получателя, если получатель не является симулятором почтового ящика Amazon SES. Дополнительную информацию о проверке см. в разделе Проверка адресов электронной почты и доменов в Amazon SES в Руководстве разработчика Amazon Simple Email Service.
Идентификатор сообщения в выводе указывает на успешное выполнение вызова send-raw-email.
Если вы не получили письмо, проверьте папку «Спам».
Дополнительную информацию об отправке сырых сообщений электронной почты см. в разделе Отправка сырых электронных писем с помощью API Amazon SES в Руководстве разработчика Amazon Simple Email Service.
Вывод
MessageId -> (строка)
SendRawEmail.
© Copyright 2025, Amazon Web Services. Created using Sphinx.