send_bounce

send_bounce(**kwargs)

Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use this API on an email up to 24 hours after you receive it.

Note

You cannot use this API to send generic bounces for mail that was not received by Amazon SES.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

See also: AWS API Documentation

Request Syntax

response = client.send_bounce(
    OriginalMessageId='string',
    BounceSender='string',
    Explanation='string',
    MessageDsn={
        'ReportingMta': 'string',
        'ArrivalDate': datetime(2015, 1, 1),
        'ExtensionFields': [
            {
                'Name': 'string',
                'Value': 'string'
            },
        ]
    },
    BouncedRecipientInfoList=[
        {
            'Recipient': 'string',
            'RecipientArn': 'string',
            'BounceType': 'DoesNotExist'|'MessageTooLarge'|'ExceededQuota'|'ContentRejected'|'Undefined'|'TemporaryFailure',
            'RecipientDsnFields': {
                'FinalRecipient': 'string',
                'Action': 'failed'|'delayed'|'delivered'|'relayed'|'expanded',
                'RemoteMta': 'string',
                'Status': 'string',
                'DiagnosticCode': 'string',
                'LastAttemptDate': datetime(2015, 1, 1),
                'ExtensionFields': [
                    {
                        'Name': 'string',
                        'Value': 'string'
                    },
                ]
            }
        },
    ],
    BounceSenderArn='string'
)
Parameters
  • OriginalMessageId (string) --

    [REQUIRED]

    The message ID of the message to be bounced.

  • BounceSender (string) --

    [REQUIRED]

    The address to use in the "From" header of the bounce message. This must be an identity that you have verified with Amazon SES.

  • Explanation (string) -- Human-readable text for the bounce message to explain the failure. If not specified, the text will be auto-generated based on the bounced recipient information.
  • MessageDsn (dict) --

    Message-related DSN fields. If not specified, Amazon SES will choose the values.

    • ReportingMta (string) -- [REQUIRED]

      The reporting MTA that attempted to deliver the message, formatted as specified in RFC 3464 ( mta-name-type; mta-name ). The default value is dns; inbound-smtp.[region].amazonaws.com .

    • ArrivalDate (datetime) --

      When the message was received by the reporting mail transfer agent (MTA), in RFC 822 date-time format.

    • ExtensionFields (list) --

      Additional X-headers to include in the DSN.

      • (dict) --

        Additional X-headers to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

        For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

        • Name (string) -- [REQUIRED]

          The name of the header to add. Must be between 1 and 50 characters, inclusive, and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only.

        • Value (string) -- [REQUIRED]

          The value of the header to add. Must be less than 2048 characters, and must not contain newline characters ("r" or "n").

  • BouncedRecipientInfoList (list) --

    [REQUIRED]

    A list of recipients of the bounced message, including the information required to create the Delivery Status Notifications (DSNs) for the recipients. You must specify at least one BouncedRecipientInfo in the list.

    • (dict) --

      Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

      For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

      • Recipient (string) -- [REQUIRED]

        The email address of the recipient of the bounced email.

      • RecipientArn (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 receive email for the recipient of the bounced email. For more information about sending authorization, see the Amazon SES Developer Guide.

      • BounceType (string) --

        The reason for the bounce. You must provide either this parameter or RecipientDsnFields .

      • RecipientDsnFields (dict) --

        Recipient-related DSN fields, most of which would normally be filled in automatically when provided with a BounceType . You must provide either this parameter or BounceType .

        • FinalRecipient (string) --

          The email address that the message was ultimately delivered to. This corresponds to the Final-Recipient in the DSN. If not specified, FinalRecipient will be set to the Recipient specified in the BouncedRecipientInfo structure. Either FinalRecipient or the recipient in BouncedRecipientInfo must be a recipient of the original bounced message.

          Note

          Do not prepend the FinalRecipient email address with rfc 822; , as described in RFC 3798.

        • Action (string) -- [REQUIRED]

          The action performed by the reporting mail transfer agent (MTA) as a result of its attempt to deliver the message to the recipient address. This is required by RFC 3464.

        • RemoteMta (string) --

          The MTA to which the remote MTA attempted to deliver the message, formatted as specified in RFC 3464 ( mta-name-type; mta-name ). This parameter typically applies only to propagating synchronous bounces.

        • Status (string) -- [REQUIRED]

          The status code that indicates what went wrong. This is required by RFC 3464.

        • DiagnosticCode (string) --

          An extended explanation of what went wrong; this is usually an SMTP response. See RFC 3463 for the correct formatting of this parameter.

        • LastAttemptDate (datetime) --

          The time the final delivery attempt was made, in RFC 822 date-time format.

        • ExtensionFields (list) --

          Additional X-headers to include in the DSN.

          • (dict) --

            Additional X-headers to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

            For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

            • Name (string) -- [REQUIRED]

              The name of the header to add. Must be between 1 and 50 characters, inclusive, and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only.

            • Value (string) -- [REQUIRED]

              The value of the header to add. Must be less than 2048 characters, and must not contain newline characters ("r" or "n").

  • BounceSenderArn (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 address in the "From" header of the bounce. For more information about sending authorization, see the Amazon SES Developer Guide.
Return type

dict

Returns

Response Syntax

{
    'MessageId': 'string'
}

Response Structure

  • (dict) --

    Represents a unique message ID.

    • MessageId (string) --

      The message ID of the bounce message.

Exceptions

  • SES.Client.exceptions.MessageRejected