SESV2 / Client / send_bulk_email
send_bulk_email#
- SESV2.Client.send_bulk_email(**kwargs)#
Composes an email message to multiple destinations.
See also: AWS API Documentation
Request Syntax
response = client.send_bulk_email( FromEmailAddress='string', FromEmailAddressIdentityArn='string', ReplyToAddresses=[ 'string', ], FeedbackForwardingEmailAddress='string', FeedbackForwardingEmailAddressIdentityArn='string', DefaultEmailTags=[ { 'Name': 'string', 'Value': 'string' }, ], DefaultContent={ 'Template': { 'TemplateName': 'string', 'TemplateArn': 'string', 'TemplateData': 'string', 'Headers': [ { 'Name': 'string', 'Value': 'string' }, ] } }, BulkEmailEntries=[ { 'Destination': { 'ToAddresses': [ 'string', ], 'CcAddresses': [ 'string', ], 'BccAddresses': [ 'string', ] }, 'ReplacementTags': [ { 'Name': 'string', 'Value': 'string' }, ], 'ReplacementEmailContent': { 'ReplacementTemplate': { 'ReplacementTemplateData': 'string' } }, 'ReplacementHeaders': [ { 'Name': 'string', 'Value': 'string' }, ] }, ], ConfigurationSetName='string' )
- Parameters:
FromEmailAddress (string) – The email address to use as the “From” address for the email. The address that you specify has to be verified.
FromEmailAddressIdentityArn (string) –
This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the
FromEmailAddress
parameter.For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use sender@example.com, then you would specify the
FromEmailAddressIdentityArn
to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and theFromEmailAddress
to be sender@example.com.For more information about sending authorization, see the Amazon SES Developer Guide.
ReplyToAddresses (list) –
The “Reply-to” email addresses for the message. When the recipient replies to the message, each Reply-to address receives the reply.
(string) –
FeedbackForwardingEmailAddress (string) – The address that you want bounce and complaint notifications to be sent to.
FeedbackForwardingEmailAddressIdentityArn (string) –
This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the
FeedbackForwardingEmailAddress
parameter.For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the
FeedbackForwardingEmailAddressIdentityArn
to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and theFeedbackForwardingEmailAddress
to be feedback@example.com.For more information about sending authorization, see the Amazon SES Developer Guide.
DefaultEmailTags (list) –
A list of tags, in the form of name/value pairs, to apply to an email that you send using the
SendEmail
operation. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.(dict) –
Contains the name and value of a tag that you apply to an email. You can use message tags when you publish email sending events.
Name (string) – [REQUIRED]
The name of the message tag. The message tag name has to meet the following criteria:
It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).
It can contain no more than 256 characters.
Value (string) – [REQUIRED]
The value of the message tag. The message tag value has to meet the following criteria:
It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).
It can contain no more than 256 characters.
DefaultContent (dict) –
[REQUIRED]
An object that contains the body of the message. You can specify a template message.
Template (dict) –
The template to use for the bulk email message.
TemplateName (string) –
The name of the template. You will refer to this name when you send email using the
SendTemplatedEmail
orSendBulkTemplatedEmail
operations.TemplateArn (string) –
The Amazon Resource Name (ARN) of the template.
TemplateData (string) –
An object that defines the values to use for message variables in the template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the value to use for that variable.
Headers (list) –
The list of message headers that will be added to the email message.
(dict) –
Contains the name and value of a message header that you add to an email.
Name (string) – [REQUIRED]
The name of the message header. The message header name has to meet the following criteria:
Can contain any printable ASCII character (33 - 126) except for colon (:).
Can contain no more than 126 characters.
Value (string) – [REQUIRED]
The value of the message header. The message header value has to meet the following criteria:
Can contain any printable ASCII character.
Can contain no more than 870 characters.
BulkEmailEntries (list) –
[REQUIRED]
The list of bulk email entry objects.
(dict) –
Destination (dict) – [REQUIRED]
Represents the destination of the message, consisting of To:, CC:, and BCC: fields.
Note
Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a destination email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492.
ToAddresses (list) –
An array that contains the email addresses of the “To” recipients for the email.
(string) –
CcAddresses (list) –
An array that contains the email addresses of the “CC” (carbon copy) recipients for the email.
(string) –
BccAddresses (list) –
An array that contains the email addresses of the “BCC” (blind carbon copy) recipients for the email.
(string) –
ReplacementTags (list) –
A list of tags, in the form of name/value pairs, to apply to an email that you send using the
SendBulkTemplatedEmail
operation. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.(dict) –
Contains the name and value of a tag that you apply to an email. You can use message tags when you publish email sending events.
Name (string) – [REQUIRED]
The name of the message tag. The message tag name has to meet the following criteria:
It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).
It can contain no more than 256 characters.
Value (string) – [REQUIRED]
The value of the message tag. The message tag value has to meet the following criteria:
It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).
It can contain no more than 256 characters.
ReplacementEmailContent (dict) –
The
ReplacementEmailContent
associated with aBulkEmailEntry
.ReplacementTemplate (dict) –
The
ReplacementTemplate
associated withReplacementEmailContent
.ReplacementTemplateData (string) –
A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.
ReplacementHeaders (list) –
The list of message headers associated with the
BulkEmailEntry
data type.Headers Not Present in
BulkEmailEntry
: If a header is specified in Template but not inBulkEmailEntry
, the header fromTemplate
will be added to the outgoing email.Headers Present in
BulkEmailEntry
: If a header is specified inBulkEmailEntry
, it takes precedence over any header of the same name specified in Template:If the header is also defined within
Template
, the value fromBulkEmailEntry
will replace the header’s value in the email.If the header is not defined within
Template
, it will simply be added to the email as specified inBulkEmailEntry
.
(dict) –
Contains the name and value of a message header that you add to an email.
Name (string) – [REQUIRED]
The name of the message header. The message header name has to meet the following criteria:
Can contain any printable ASCII character (33 - 126) except for colon (:).
Can contain no more than 126 characters.
Value (string) – [REQUIRED]
The value of the message header. The message header value has to meet the following criteria:
Can contain any printable ASCII character.
Can contain no more than 870 characters.
ConfigurationSetName (string) – The name of the configuration set to use when sending the email.
- Return type:
dict
- Returns:
Response Syntax
{ 'BulkEmailEntryResults': [ { 'Status': 'SUCCESS'|'MESSAGE_REJECTED'|'MAIL_FROM_DOMAIN_NOT_VERIFIED'|'CONFIGURATION_SET_NOT_FOUND'|'TEMPLATE_NOT_FOUND'|'ACCOUNT_SUSPENDED'|'ACCOUNT_THROTTLED'|'ACCOUNT_DAILY_QUOTA_EXCEEDED'|'INVALID_SENDING_POOL_NAME'|'ACCOUNT_SENDING_PAUSED'|'CONFIGURATION_SET_SENDING_PAUSED'|'INVALID_PARAMETER'|'TRANSIENT_FAILURE'|'FAILED', 'Error': 'string', 'MessageId': 'string' }, ] }
Response Structure
(dict) –
The following data is returned in JSON format by the service.
BulkEmailEntryResults (list) –
One object per intended recipient. Check each response object and retry any messages with a failure status.
(dict) –
The result of the
SendBulkEmail
operation of each specifiedBulkEmailEntry
.Status (string) –
The status of a message sent using the
SendBulkTemplatedEmail
operation.Possible values for this parameter include:
SUCCESS: Amazon SES accepted the message, and will attempt to deliver it to the recipients.
MESSAGE_REJECTED: The message was rejected because it contained a virus.
MAIL_FROM_DOMAIN_NOT_VERIFIED: The sender’s email address or domain was not verified.
CONFIGURATION_SET_DOES_NOT_EXIST: The configuration set you specified does not exist.
TEMPLATE_DOES_NOT_EXIST: The template you specified does not exist.
ACCOUNT_SUSPENDED: Your account has been shut down because of issues related to your email sending practices.
ACCOUNT_THROTTLED: The number of emails you can send has been reduced because your account has exceeded its allocated sending limit.
ACCOUNT_DAILY_QUOTA_EXCEEDED: You have reached or exceeded the maximum number of emails you can send from your account in a 24-hour period.
INVALID_SENDING_POOL_NAME: The configuration set you specified refers to an IP pool that does not exist.
ACCOUNT_SENDING_PAUSED: Email sending for the Amazon SES account was disabled using the UpdateAccountSendingEnabled operation.
CONFIGURATION_SET_SENDING_PAUSED: Email sending for this configuration set was disabled using the UpdateConfigurationSetSendingEnabled operation.
INVALID_PARAMETER_VALUE: One or more of the parameters you specified when calling this operation was invalid. See the error message for additional information.
TRANSIENT_FAILURE: Amazon SES was unable to process your request because of a temporary issue.
FAILED: Amazon SES was unable to process your request. See the error message for additional information.
Error (string) –
A description of an error that prevented a message being sent using the
SendBulkTemplatedEmail
operation.MessageId (string) –
The unique message identifier returned from the
SendBulkTemplatedEmail
operation.
Exceptions
SESV2.Client.exceptions.TooManyRequestsException
SESV2.Client.exceptions.LimitExceededException
SESV2.Client.exceptions.AccountSuspendedException
SESV2.Client.exceptions.SendingPausedException
SESV2.Client.exceptions.MessageRejected
SESV2.Client.exceptions.MailFromDomainNotVerifiedException
SESV2.Client.exceptions.NotFoundException
SESV2.Client.exceptions.BadRequestException