SDK for PHP 3.x

Client: Aws\MailManager\MailManagerClient
Service ID: mailmanager
Version: 2023-10-17

This page describes the parameters and results for the operations of the MailManager (2023-10-17), and shows how to use the Aws\MailManager\MailManagerClient object to call the described operations. This documentation is specific to the 2023-10-17 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CreateAddonInstance ( array $params = [] )
Creates an Add On instance for the subscription indicated in the request.
CreateAddonSubscription ( array $params = [] )
Creates a subscription for an Add On representing the acceptance of its terms of use and additional pricing.
CreateArchive ( array $params = [] )
Creates a new email archive resource for storing and retaining emails.
CreateIngressPoint ( array $params = [] )
Provision a new ingress endpoint resource.
CreateRelay ( array $params = [] )
Creates a relay resource which can be used in rules to relay incoming emails to defined relay destinations.
CreateRuleSet ( array $params = [] )
Provision a new rule set.
CreateTrafficPolicy ( array $params = [] )
Provision a new traffic policy resource.
DeleteAddonInstance ( array $params = [] )
Deletes an Add On instance.
DeleteAddonSubscription ( array $params = [] )
Deletes an Add On subscription.
DeleteArchive ( array $params = [] )
Initiates deletion of an email archive.
DeleteIngressPoint ( array $params = [] )
Delete an ingress endpoint resource.
DeleteRelay ( array $params = [] )
Deletes an existing relay resource.
DeleteRuleSet ( array $params = [] )
Delete a rule set.
DeleteTrafficPolicy ( array $params = [] )
Delete a traffic policy resource.
GetAddonInstance ( array $params = [] )
Gets detailed information about an Add On instance.
GetAddonSubscription ( array $params = [] )
Gets detailed information about an Add On subscription.
GetArchive ( array $params = [] )
Retrieves the full details and current state of a specified email archive.
GetArchiveExport ( array $params = [] )
Retrieves the details and current status of a specific email archive export job.
GetArchiveMessage ( array $params = [] )
Returns a pre-signed URL that provides temporary download access to the specific email message stored in the archive.
GetArchiveMessageContent ( array $params = [] )
Returns the textual content of a specific email message stored in the archive.
GetArchiveSearch ( array $params = [] )
Retrieves the details and current status of a specific email archive search job.
GetArchiveSearchResults ( array $params = [] )
Returns the results of a completed email archive search job.
GetIngressPoint ( array $params = [] )
Fetch ingress endpoint resource attributes.
GetRelay ( array $params = [] )
Fetch the relay resource and it's attributes.
GetRuleSet ( array $params = [] )
Fetch attributes of a rule set.
GetTrafficPolicy ( array $params = [] )
Fetch attributes of a traffic policy resource.
ListAddonInstances ( array $params = [] )
Lists all Add On instances in your account.
ListAddonSubscriptions ( array $params = [] )
Lists all Add On subscriptions in your account.
ListArchiveExports ( array $params = [] )
Returns a list of email archive export jobs.
ListArchiveSearches ( array $params = [] )
Returns a list of email archive search jobs.
ListArchives ( array $params = [] )
Returns a list of all email archives in your account.
ListIngressPoints ( array $params = [] )
List all ingress endpoint resources.
ListRelays ( array $params = [] )
Lists all the existing relay resources.
ListRuleSets ( array $params = [] )
List rule sets for this account.
ListTagsForResource ( array $params = [] )
Retrieves the list of tags (keys and values) assigned to the resource.
ListTrafficPolicies ( array $params = [] )
List traffic policy resources.
StartArchiveExport ( array $params = [] )
Initiates an export of emails from the specified archive.
StartArchiveSearch ( array $params = [] )
Initiates a search across emails in the specified archive.
StopArchiveExport ( array $params = [] )
Stops an in-progress export of emails from an archive.
StopArchiveSearch ( array $params = [] )
Stops an in-progress archive search job.
TagResource ( array $params = [] )
Adds one or more tags (keys and values) to a specified resource.
UntagResource ( array $params = [] )
Remove one or more tags (keys and values) from a specified resource.
UpdateArchive ( array $params = [] )
Updates the attributes of an existing email archive.
UpdateIngressPoint ( array $params = [] )
Update attributes of a provisioned ingress endpoint resource.
UpdateRelay ( array $params = [] )
Updates the attributes of an existing relay resource.
UpdateRuleSet ( array $params = [] )
Update attributes of an already provisioned rule set.
UpdateTrafficPolicy ( array $params = [] )
Update attributes of an already provisioned traffic policy resource.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListAddonInstances
ListAddonSubscriptions
ListArchiveExports
ListArchiveSearches
ListArchives
ListIngressPoints
ListRelays
ListRuleSets
ListTrafficPolicies

Operations

CreateAddonInstance

$result = $client->createAddonInstance([/* ... */]);
$promise = $client->createAddonInstanceAsync([/* ... */]);

Creates an Add On instance for the subscription indicated in the request. The resulting Amazon Resource Name (ARN) can be used in a conditional statement for a rule set or traffic policy.

Parameter Syntax

$result = $client->createAddonInstance([
    'AddonSubscriptionId' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AddonSubscriptionId
Required: Yes
Type: string

The unique ID of a previously created subscription that an Add On instance is created for. You can only have one instance per subscription.

ClientToken
Type: string

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

Tags
Type: Array of Tag structures

The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

Result Syntax

[
    'AddonInstanceId' => '<string>',
]

Result Details

Members
AddonInstanceId
Required: Yes
Type: string

The unique ID of the Add On instance created by this API.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

CreateAddonSubscription

$result = $client->createAddonSubscription([/* ... */]);
$promise = $client->createAddonSubscriptionAsync([/* ... */]);

Creates a subscription for an Add On representing the acceptance of its terms of use and additional pricing. The subscription can then be used to create an instance for use in rule sets or traffic policies.

Parameter Syntax

$result = $client->createAddonSubscription([
    'AddonName' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AddonName
Required: Yes
Type: string

The name of the Add On to subscribe to. You can only have one subscription for each Add On name.

ClientToken
Type: string

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

Tags
Type: Array of Tag structures

The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

Result Syntax

[
    'AddonSubscriptionId' => '<string>',
]

Result Details

Members
AddonSubscriptionId
Required: Yes
Type: string

The unique ID of the Add On subscription created by this API.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

CreateArchive

$result = $client->createArchive([/* ... */]);
$promise = $client->createArchiveAsync([/* ... */]);

Creates a new email archive resource for storing and retaining emails.

Parameter Syntax

$result = $client->createArchive([
    'ArchiveName' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'KmsKeyArn' => '<string>',
    'Retention' => [
        'RetentionPeriod' => 'THREE_MONTHS|SIX_MONTHS|NINE_MONTHS|ONE_YEAR|EIGHTEEN_MONTHS|TWO_YEARS|THIRTY_MONTHS|THREE_YEARS|FOUR_YEARS|FIVE_YEARS|SIX_YEARS|SEVEN_YEARS|EIGHT_YEARS|NINE_YEARS|TEN_YEARS|PERMANENT',
    ],
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ArchiveName
Required: Yes
Type: string

A unique name for the new archive.

ClientToken
Type: string

A unique token Amazon SES uses to recognize retries of this request.

KmsKeyArn
Type: string

The Amazon Resource Name (ARN) of the KMS key for encrypting emails in the archive.

Retention
Type: ArchiveRetention structure

The period for retaining emails in the archive before automatic deletion.

Tags
Type: Array of Tag structures

The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

Result Syntax

[
    'ArchiveId' => '<string>',
]

Result Details

Members
ArchiveId
Required: Yes
Type: string

The unique identifier for the newly created archive.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

CreateIngressPoint

$result = $client->createIngressPoint([/* ... */]);
$promise = $client->createIngressPointAsync([/* ... */]);

Provision a new ingress endpoint resource.

Parameter Syntax

$result = $client->createIngressPoint([
    'ClientToken' => '<string>',
    'IngressPointConfiguration' => [
        'SecretArn' => '<string>',
        'SmtpPassword' => '<string>',
    ],
    'IngressPointName' => '<string>', // REQUIRED
    'RuleSetId' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'TrafficPolicyId' => '<string>', // REQUIRED
    'Type' => 'OPEN|AUTH', // REQUIRED
]);

Parameter Details

Members
ClientToken
Type: string

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

IngressPointConfiguration
Type: IngressPointConfiguration structure

If you choose an Authenticated ingress endpoint, you must configure either an SMTP password or a secret ARN.

IngressPointName
Required: Yes
Type: string

A user friendly name for an ingress endpoint resource.

RuleSetId
Required: Yes
Type: string

The identifier of an existing rule set that you attach to an ingress endpoint resource.

Tags
Type: Array of Tag structures

The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

TrafficPolicyId
Required: Yes
Type: string

The identifier of an existing traffic policy that you attach to an ingress endpoint resource.

Type
Required: Yes
Type: string

The type of the ingress endpoint to create.

Result Syntax

[
    'IngressPointId' => '<string>',
]

Result Details

Members
IngressPointId
Required: Yes
Type: string

The unique identifier for a previously created ingress endpoint.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

CreateRelay

$result = $client->createRelay([/* ... */]);
$promise = $client->createRelayAsync([/* ... */]);

Creates a relay resource which can be used in rules to relay incoming emails to defined relay destinations.

Parameter Syntax

$result = $client->createRelay([
    'Authentication' => [ // REQUIRED
        'NoAuthentication' => [
        ],
        'SecretArn' => '<string>',
    ],
    'ClientToken' => '<string>',
    'RelayName' => '<string>', // REQUIRED
    'ServerName' => '<string>', // REQUIRED
    'ServerPort' => <integer>, // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
Authentication
Required: Yes
Type: RelayAuthentication structure

Authentication for the relay destination server—specify the secretARN where the SMTP credentials are stored.

ClientToken
Type: string

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

RelayName
Required: Yes
Type: string

The unique name of the relay resource.

ServerName
Required: Yes
Type: string

The destination relay server address.

ServerPort
Required: Yes
Type: int

The destination relay server port.

Tags
Type: Array of Tag structures

The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

Result Syntax

[
    'RelayId' => '<string>',
]

Result Details

Members
RelayId
Required: Yes
Type: string

A unique identifier of the created relay resource.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

CreateRuleSet

$result = $client->createRuleSet([/* ... */]);
$promise = $client->createRuleSetAsync([/* ... */]);

Provision a new rule set.

Parameter Syntax

$result = $client->createRuleSet([
    'ClientToken' => '<string>',
    'RuleSetName' => '<string>', // REQUIRED
    'Rules' => [ // REQUIRED
        [
            'Actions' => [ // REQUIRED
                [
                    'AddHeader' => [
                        'HeaderName' => '<string>', // REQUIRED
                        'HeaderValue' => '<string>', // REQUIRED
                    ],
                    'Archive' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'TargetArchive' => '<string>', // REQUIRED
                    ],
                    'DeliverToMailbox' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'MailboxArn' => '<string>', // REQUIRED
                        'RoleArn' => '<string>', // REQUIRED
                    ],
                    'Drop' => [
                    ],
                    'Relay' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'MailFrom' => 'REPLACE|PRESERVE',
                        'Relay' => '<string>', // REQUIRED
                    ],
                    'ReplaceRecipient' => [
                        'ReplaceWith' => ['<string>', ...],
                    ],
                    'Send' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'RoleArn' => '<string>', // REQUIRED
                    ],
                    'WriteToS3' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'RoleArn' => '<string>', // REQUIRED
                        'S3Bucket' => '<string>', // REQUIRED
                        'S3Prefix' => '<string>',
                        'S3SseKmsKeyId' => '<string>',
                    ],
                ],
                // ...
            ],
            'Conditions' => [
                [
                    'BooleanExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'READ_RECEIPT_REQUESTED|TLS|TLS_WRAPPED',
                        ],
                        'Operator' => 'IS_TRUE|IS_FALSE', // REQUIRED
                    ],
                    'DmarcExpression' => [
                        'Operator' => 'EQUALS|NOT_EQUALS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'IpExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'SOURCE_IP',
                        ],
                        'Operator' => 'CIDR_MATCHES|NOT_CIDR_MATCHES', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'NumberExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'MESSAGE_SIZE',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|LESS_THAN|GREATER_THAN|LESS_THAN_OR_EQUAL|GREATER_THAN_OR_EQUAL', // REQUIRED
                        'Value' => <float>, // REQUIRED
                    ],
                    'StringExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'MAIL_FROM|HELO|RECIPIENT|SENDER|FROM|SUBJECT|TO|CC',
                            'MimeHeaderAttribute' => '<string>',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|STARTS_WITH|ENDS_WITH|CONTAINS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'VerdictExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Analysis' => [
                                'Analyzer' => '<string>', // REQUIRED
                                'ResultField' => '<string>', // REQUIRED
                            ],
                            'Attribute' => 'SPF|DKIM',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                ],
                // ...
            ],
            'Name' => '<string>',
            'Unless' => [
                [
                    'BooleanExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'READ_RECEIPT_REQUESTED|TLS|TLS_WRAPPED',
                        ],
                        'Operator' => 'IS_TRUE|IS_FALSE', // REQUIRED
                    ],
                    'DmarcExpression' => [
                        'Operator' => 'EQUALS|NOT_EQUALS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'IpExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'SOURCE_IP',
                        ],
                        'Operator' => 'CIDR_MATCHES|NOT_CIDR_MATCHES', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'NumberExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'MESSAGE_SIZE',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|LESS_THAN|GREATER_THAN|LESS_THAN_OR_EQUAL|GREATER_THAN_OR_EQUAL', // REQUIRED
                        'Value' => <float>, // REQUIRED
                    ],
                    'StringExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'MAIL_FROM|HELO|RECIPIENT|SENDER|FROM|SUBJECT|TO|CC',
                            'MimeHeaderAttribute' => '<string>',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|STARTS_WITH|ENDS_WITH|CONTAINS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'VerdictExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Analysis' => [
                                'Analyzer' => '<string>', // REQUIRED
                                'ResultField' => '<string>', // REQUIRED
                            ],
                            'Attribute' => 'SPF|DKIM',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Type: string

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

RuleSetName
Required: Yes
Type: string

A user-friendly name for the rule set.

Rules
Required: Yes
Type: Array of Rule structures

Conditional rules that are evaluated for determining actions on email.

Tags
Type: Array of Tag structures

The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

Result Syntax

[
    'RuleSetId' => '<string>',
]

Result Details

Members
RuleSetId
Required: Yes
Type: string

The identifier of the created rule set.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

CreateTrafficPolicy

$result = $client->createTrafficPolicy([/* ... */]);
$promise = $client->createTrafficPolicyAsync([/* ... */]);

Provision a new traffic policy resource.

Parameter Syntax

$result = $client->createTrafficPolicy([
    'ClientToken' => '<string>',
    'DefaultAction' => 'ALLOW|DENY', // REQUIRED
    'MaxMessageSizeBytes' => <integer>,
    'PolicyStatements' => [ // REQUIRED
        [
            'Action' => 'ALLOW|DENY', // REQUIRED
            'Conditions' => [ // REQUIRED
                [
                    'BooleanExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Analysis' => [
                                'Analyzer' => '<string>', // REQUIRED
                                'ResultField' => '<string>', // REQUIRED
                            ],
                        ],
                        'Operator' => 'IS_TRUE|IS_FALSE', // REQUIRED
                    ],
                    'IpExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'SENDER_IP',
                        ],
                        'Operator' => 'CIDR_MATCHES|NOT_CIDR_MATCHES', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'StringExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'RECIPIENT',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|STARTS_WITH|ENDS_WITH|CONTAINS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'TlsExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'TLS_PROTOCOL',
                        ],
                        'Operator' => 'MINIMUM_TLS_VERSION|IS', // REQUIRED
                        'Value' => 'TLS1_2|TLS1_3', // REQUIRED
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'TrafficPolicyName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
Type: string

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

DefaultAction
Required: Yes
Type: string

Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements

MaxMessageSizeBytes
Type: int

The maximum message size in bytes of email which is allowed in by this traffic policy—anything larger will be blocked.

PolicyStatements
Required: Yes
Type: Array of PolicyStatement structures

Conditional statements for filtering email traffic.

Tags
Type: Array of Tag structures

The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

TrafficPolicyName
Required: Yes
Type: string

A user-friendly name for the traffic policy resource.

Result Syntax

[
    'TrafficPolicyId' => '<string>',
]

Result Details

Members
TrafficPolicyId
Required: Yes
Type: string

The identifier of the traffic policy resource.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

DeleteAddonInstance

$result = $client->deleteAddonInstance([/* ... */]);
$promise = $client->deleteAddonInstanceAsync([/* ... */]);

Deletes an Add On instance.

Parameter Syntax

$result = $client->deleteAddonInstance([
    'AddonInstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AddonInstanceId
Required: Yes
Type: string

The Add On instance ID to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

DeleteAddonSubscription

$result = $client->deleteAddonSubscription([/* ... */]);
$promise = $client->deleteAddonSubscriptionAsync([/* ... */]);

Deletes an Add On subscription.

Parameter Syntax

$result = $client->deleteAddonSubscription([
    'AddonSubscriptionId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AddonSubscriptionId
Required: Yes
Type: string

The Add On subscription ID to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

DeleteArchive

$result = $client->deleteArchive([/* ... */]);
$promise = $client->deleteArchiveAsync([/* ... */]);

Initiates deletion of an email archive. This changes the archive state to pending deletion. In this state, no new emails can be added, and existing archived emails become inaccessible (search, export, download). The archive and all of its contents will be permanently deleted 30 days after entering the pending deletion state, regardless of the configured retention period.

Parameter Syntax

$result = $client->deleteArchive([
    'ArchiveId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ArchiveId
Required: Yes
Type: string

The identifier of the archive to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

DeleteIngressPoint

$result = $client->deleteIngressPoint([/* ... */]);
$promise = $client->deleteIngressPointAsync([/* ... */]);

Delete an ingress endpoint resource.

Parameter Syntax

$result = $client->deleteIngressPoint([
    'IngressPointId' => '<string>', // REQUIRED
]);

Parameter Details

Members
IngressPointId
Required: Yes
Type: string

The identifier of the ingress endpoint resource that you want to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

DeleteRelay

$result = $client->deleteRelay([/* ... */]);
$promise = $client->deleteRelayAsync([/* ... */]);

Deletes an existing relay resource.

Parameter Syntax

$result = $client->deleteRelay([
    'RelayId' => '<string>', // REQUIRED
]);

Parameter Details

Members
RelayId
Required: Yes
Type: string

The unique relay identifier.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

DeleteRuleSet

$result = $client->deleteRuleSet([/* ... */]);
$promise = $client->deleteRuleSetAsync([/* ... */]);

Delete a rule set.

Parameter Syntax

$result = $client->deleteRuleSet([
    'RuleSetId' => '<string>', // REQUIRED
]);

Parameter Details

Members
RuleSetId
Required: Yes
Type: string

The identifier of an existing rule set resource to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

DeleteTrafficPolicy

$result = $client->deleteTrafficPolicy([/* ... */]);
$promise = $client->deleteTrafficPolicyAsync([/* ... */]);

Delete a traffic policy resource.

Parameter Syntax

$result = $client->deleteTrafficPolicy([
    'TrafficPolicyId' => '<string>', // REQUIRED
]);

Parameter Details

Members
TrafficPolicyId
Required: Yes
Type: string

The identifier of the traffic policy that you want to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

GetAddonInstance

$result = $client->getAddonInstance([/* ... */]);
$promise = $client->getAddonInstanceAsync([/* ... */]);

Gets detailed information about an Add On instance.

Parameter Syntax

$result = $client->getAddonInstance([
    'AddonInstanceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AddonInstanceId
Required: Yes
Type: string

The Add On instance ID to retrieve information for.

Result Syntax

[
    'AddonInstanceArn' => '<string>',
    'AddonName' => '<string>',
    'AddonSubscriptionId' => '<string>',
    'CreatedTimestamp' => <DateTime>,
]

Result Details

Members
AddonInstanceArn
Type: string

The Amazon Resource Name (ARN) of the Add On instance.

AddonName
Type: string

The name of the Add On provider associated to the subscription of the instance.

AddonSubscriptionId
Type: string

The subscription ID associated to the instance.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the Add On instance was created.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

GetAddonSubscription

$result = $client->getAddonSubscription([/* ... */]);
$promise = $client->getAddonSubscriptionAsync([/* ... */]);

Gets detailed information about an Add On subscription.

Parameter Syntax

$result = $client->getAddonSubscription([
    'AddonSubscriptionId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AddonSubscriptionId
Required: Yes
Type: string

The Add On subscription ID to retrieve information for.

Result Syntax

[
    'AddonName' => '<string>',
    'AddonSubscriptionArn' => '<string>',
    'CreatedTimestamp' => <DateTime>,
]

Result Details

Members
AddonName
Type: string

The name of the Add On for the subscription.

AddonSubscriptionArn
Type: string

Amazon Resource Name (ARN) for the subscription.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the Add On subscription was created.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

GetArchive

$result = $client->getArchive([/* ... */]);
$promise = $client->getArchiveAsync([/* ... */]);

Retrieves the full details and current state of a specified email archive.

Parameter Syntax

$result = $client->getArchive([
    'ArchiveId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ArchiveId
Required: Yes
Type: string

The identifier of the archive to retrieve.

Result Syntax

[
    'ArchiveArn' => '<string>',
    'ArchiveId' => '<string>',
    'ArchiveName' => '<string>',
    'ArchiveState' => 'ACTIVE|PENDING_DELETION',
    'CreatedTimestamp' => <DateTime>,
    'KmsKeyArn' => '<string>',
    'LastUpdatedTimestamp' => <DateTime>,
    'Retention' => [
        'RetentionPeriod' => 'THREE_MONTHS|SIX_MONTHS|NINE_MONTHS|ONE_YEAR|EIGHTEEN_MONTHS|TWO_YEARS|THIRTY_MONTHS|THREE_YEARS|FOUR_YEARS|FIVE_YEARS|SIX_YEARS|SEVEN_YEARS|EIGHT_YEARS|NINE_YEARS|TEN_YEARS|PERMANENT',
    ],
]

Result Details

Members
ArchiveArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the archive.

ArchiveId
Required: Yes
Type: string

The unique identifier of the archive.

ArchiveName
Required: Yes
Type: string

The unique name assigned to the archive.

ArchiveState
Required: Yes
Type: string

The current state of the archive:

  • ACTIVE – The archive is ready and available for use.

  • PENDING_DELETION – The archive has been marked for deletion and will be permanently deleted in 30 days. No further modifications can be made in this state.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the archive was created.

KmsKeyArn
Type: string

The Amazon Resource Name (ARN) of the KMS key used to encrypt the archive.

LastUpdatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the archive was modified.

Retention
Required: Yes
Type: ArchiveRetention structure

The retention period for emails in this archive.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ResourceNotFoundException:

Occurs when a requested resource is not found.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

GetArchiveExport

$result = $client->getArchiveExport([/* ... */]);
$promise = $client->getArchiveExportAsync([/* ... */]);

Retrieves the details and current status of a specific email archive export job.

Parameter Syntax

$result = $client->getArchiveExport([
    'ExportId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ExportId
Required: Yes
Type: string

The identifier of the export job to get details for.

Result Syntax

[
    'ArchiveId' => '<string>',
    'ExportDestinationConfiguration' => [
        'S3' => [
            'S3Location' => '<string>',
        ],
    ],
    'Filters' => [
        'Include' => [
            [
                'BooleanExpression' => [
                    'Evaluate' => [
                        'Attribute' => 'HAS_ATTACHMENTS',
                    ],
                    'Operator' => 'IS_TRUE|IS_FALSE',
                ],
                'StringExpression' => [
                    'Evaluate' => [
                        'Attribute' => 'TO|FROM|CC|SUBJECT|ENVELOPE_TO|ENVELOPE_FROM',
                    ],
                    'Operator' => 'CONTAINS',
                    'Values' => ['<string>', ...],
                ],
            ],
            // ...
        ],
        'Unless' => [
            [
                'BooleanExpression' => [
                    'Evaluate' => [
                        'Attribute' => 'HAS_ATTACHMENTS',
                    ],
                    'Operator' => 'IS_TRUE|IS_FALSE',
                ],
                'StringExpression' => [
                    'Evaluate' => [
                        'Attribute' => 'TO|FROM|CC|SUBJECT|ENVELOPE_TO|ENVELOPE_FROM',
                    ],
                    'Operator' => 'CONTAINS',
                    'Values' => ['<string>', ...],
                ],
            ],
            // ...
        ],
    ],
    'FromTimestamp' => <DateTime>,
    'MaxResults' => <integer>,
    'Status' => [
        'CompletionTimestamp' => <DateTime>,
        'ErrorMessage' => '<string>',
        'State' => 'QUEUED|PREPROCESSING|PROCESSING|COMPLETED|FAILED|CANCELLED',
        'SubmissionTimestamp' => <DateTime>,
    ],
    'ToTimestamp' => <DateTime>,
]

Result Details

Members
ArchiveId
Type: string

The identifier of the archive the email export was performed from.

ExportDestinationConfiguration

Where the exported emails are being delivered.

Filters
Type: ArchiveFilters structure

The criteria used to filter emails included in the export.

FromTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start of the timestamp range the exported emails cover.

MaxResults
Type: int

The maximum number of email items included in the export.

Status
Type: ExportStatus structure

The current status of the export job.

ToTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end of the date range the exported emails cover.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

GetArchiveMessage

$result = $client->getArchiveMessage([/* ... */]);
$promise = $client->getArchiveMessageAsync([/* ... */]);

Returns a pre-signed URL that provides temporary download access to the specific email message stored in the archive.

Parameter Syntax

$result = $client->getArchiveMessage([
    'ArchivedMessageId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ArchivedMessageId
Required: Yes
Type: string

The unique identifier of the archived email message.

Result Syntax

[
    'Envelope' => [
        'From' => '<string>',
        'Helo' => '<string>',
        'To' => ['<string>', ...],
    ],
    'MessageDownloadLink' => '<string>',
    'Metadata' => [
        'IngressPointId' => '<string>',
        'RuleSetId' => '<string>',
        'SenderHostname' => '<string>',
        'SenderIpAddress' => '<string>',
        'Timestamp' => <DateTime>,
        'TlsCipherSuite' => '<string>',
        'TlsProtocol' => '<string>',
        'TrafficPolicyId' => '<string>',
    ],
]

Result Details

Members
Envelope
Type: Envelope structure

The SMTP envelope information of the email.

MessageDownloadLink
Type: string

A pre-signed URL to temporarily download the full message content.

Metadata
Type: Metadata structure

The metadata about the email.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

GetArchiveMessageContent

$result = $client->getArchiveMessageContent([/* ... */]);
$promise = $client->getArchiveMessageContentAsync([/* ... */]);

Returns the textual content of a specific email message stored in the archive. Attachments are not included.

Parameter Syntax

$result = $client->getArchiveMessageContent([
    'ArchivedMessageId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ArchivedMessageId
Required: Yes
Type: string

The unique identifier of the archived email message.

Result Syntax

[
    'Body' => [
        'Html' => '<string>',
        'MessageMalformed' => true || false,
        'Text' => '<string>',
    ],
]

Result Details

Members
Body
Type: MessageBody structure

The textual body content of the email message.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

GetArchiveSearch

$result = $client->getArchiveSearch([/* ... */]);
$promise = $client->getArchiveSearchAsync([/* ... */]);

Retrieves the details and current status of a specific email archive search job.

Parameter Syntax

$result = $client->getArchiveSearch([
    'SearchId' => '<string>', // REQUIRED
]);

Parameter Details

Members
SearchId
Required: Yes
Type: string

The identifier of the search job to get details for.

Result Syntax

[
    'ArchiveId' => '<string>',
    'Filters' => [
        'Include' => [
            [
                'BooleanExpression' => [
                    'Evaluate' => [
                        'Attribute' => 'HAS_ATTACHMENTS',
                    ],
                    'Operator' => 'IS_TRUE|IS_FALSE',
                ],
                'StringExpression' => [
                    'Evaluate' => [
                        'Attribute' => 'TO|FROM|CC|SUBJECT|ENVELOPE_TO|ENVELOPE_FROM',
                    ],
                    'Operator' => 'CONTAINS',
                    'Values' => ['<string>', ...],
                ],
            ],
            // ...
        ],
        'Unless' => [
            [
                'BooleanExpression' => [
                    'Evaluate' => [
                        'Attribute' => 'HAS_ATTACHMENTS',
                    ],
                    'Operator' => 'IS_TRUE|IS_FALSE',
                ],
                'StringExpression' => [
                    'Evaluate' => [
                        'Attribute' => 'TO|FROM|CC|SUBJECT|ENVELOPE_TO|ENVELOPE_FROM',
                    ],
                    'Operator' => 'CONTAINS',
                    'Values' => ['<string>', ...],
                ],
            ],
            // ...
        ],
    ],
    'FromTimestamp' => <DateTime>,
    'MaxResults' => <integer>,
    'Status' => [
        'CompletionTimestamp' => <DateTime>,
        'ErrorMessage' => '<string>',
        'State' => 'QUEUED|RUNNING|COMPLETED|FAILED|CANCELLED',
        'SubmissionTimestamp' => <DateTime>,
    ],
    'ToTimestamp' => <DateTime>,
]

Result Details

Members
ArchiveId
Type: string

The identifier of the archive the email search was performed in.

Filters
Type: ArchiveFilters structure

The criteria used to filter emails included in the search.

FromTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start timestamp of the range the searched emails cover.

MaxResults
Type: int

The maximum number of search results to return.

Status
Type: SearchStatus structure

The current status of the search job.

ToTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end timestamp of the range the searched emails cover.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

GetArchiveSearchResults

$result = $client->getArchiveSearchResults([/* ... */]);
$promise = $client->getArchiveSearchResultsAsync([/* ... */]);

Returns the results of a completed email archive search job.

Parameter Syntax

$result = $client->getArchiveSearchResults([
    'SearchId' => '<string>', // REQUIRED
]);

Parameter Details

Members
SearchId
Required: Yes
Type: string

The identifier of the completed search job.

Result Syntax

[
    'Rows' => [
        [
            'ArchivedMessageId' => '<string>',
            'Cc' => '<string>',
            'Date' => '<string>',
            'Envelope' => [
                'From' => '<string>',
                'Helo' => '<string>',
                'To' => ['<string>', ...],
            ],
            'From' => '<string>',
            'HasAttachments' => true || false,
            'InReplyTo' => '<string>',
            'IngressPointId' => '<string>',
            'MessageId' => '<string>',
            'ReceivedHeaders' => ['<string>', ...],
            'ReceivedTimestamp' => <DateTime>,
            'SenderHostname' => '<string>',
            'SenderIpAddress' => '<string>',
            'Subject' => '<string>',
            'To' => '<string>',
            'XMailer' => '<string>',
            'XOriginalMailer' => '<string>',
            'XPriority' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Rows
Type: Array of Row structures

The list of email result objects matching the search criteria.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

GetIngressPoint

$result = $client->getIngressPoint([/* ... */]);
$promise = $client->getIngressPointAsync([/* ... */]);

Fetch ingress endpoint resource attributes.

Parameter Syntax

$result = $client->getIngressPoint([
    'IngressPointId' => '<string>', // REQUIRED
]);

Parameter Details

Members
IngressPointId
Required: Yes
Type: string

The identifier of an ingress endpoint.

Result Syntax

[
    'ARecord' => '<string>',
    'CreatedTimestamp' => <DateTime>,
    'IngressPointArn' => '<string>',
    'IngressPointAuthConfiguration' => [
        'IngressPointPasswordConfiguration' => [
            'PreviousSmtpPasswordExpiryTimestamp' => <DateTime>,
            'PreviousSmtpPasswordVersion' => '<string>',
            'SmtpPasswordVersion' => '<string>',
        ],
        'SecretArn' => '<string>',
    ],
    'IngressPointId' => '<string>',
    'IngressPointName' => '<string>',
    'LastUpdatedTimestamp' => <DateTime>,
    'RuleSetId' => '<string>',
    'Status' => 'PROVISIONING|DEPROVISIONING|UPDATING|ACTIVE|CLOSED|FAILED',
    'TrafficPolicyId' => '<string>',
    'Type' => 'OPEN|AUTH',
]

Result Details

Members
ARecord
Type: string

The DNS A Record that identifies your ingress endpoint. Configure your DNS Mail Exchange (MX) record with this value to route emails to Mail Manager.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the ingress endpoint was created.

IngressPointArn
Type: string

The Amazon Resource Name (ARN) of the ingress endpoint resource.

IngressPointAuthConfiguration

The authentication configuration of the ingress endpoint resource.

IngressPointId
Required: Yes
Type: string

The identifier of an ingress endpoint resource.

IngressPointName
Required: Yes
Type: string

A user friendly name for the ingress endpoint.

LastUpdatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the ingress endpoint was last updated.

RuleSetId
Type: string

The identifier of a rule set resource associated with the ingress endpoint.

Status
Type: string

The status of the ingress endpoint resource.

TrafficPolicyId
Type: string

The identifier of the traffic policy resource associated with the ingress endpoint.

Type
Type: string

The type of ingress endpoint.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

GetRelay

$result = $client->getRelay([/* ... */]);
$promise = $client->getRelayAsync([/* ... */]);

Fetch the relay resource and it's attributes.

Parameter Syntax

$result = $client->getRelay([
    'RelayId' => '<string>', // REQUIRED
]);

Parameter Details

Members
RelayId
Required: Yes
Type: string

A unique relay identifier.

Result Syntax

[
    'Authentication' => [
        'NoAuthentication' => [
        ],
        'SecretArn' => '<string>',
    ],
    'CreatedTimestamp' => <DateTime>,
    'LastModifiedTimestamp' => <DateTime>,
    'RelayArn' => '<string>',
    'RelayId' => '<string>',
    'RelayName' => '<string>',
    'ServerName' => '<string>',
    'ServerPort' => <integer>,
]

Result Details

Members
Authentication
Type: RelayAuthentication structure

The authentication attribute—contains the secret ARN where the customer relay server credentials are stored.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the relay was created.

LastModifiedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when relay was last updated.

RelayArn
Type: string

The Amazon Resource Name (ARN) of the relay.

RelayId
Required: Yes
Type: string

The unique relay identifier.

RelayName
Type: string

The unique name of the relay.

ServerName
Type: string

The destination relay server address.

ServerPort
Type: int

The destination relay server port.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

GetRuleSet

$result = $client->getRuleSet([/* ... */]);
$promise = $client->getRuleSetAsync([/* ... */]);

Fetch attributes of a rule set.

Parameter Syntax

$result = $client->getRuleSet([
    'RuleSetId' => '<string>', // REQUIRED
]);

Parameter Details

Members
RuleSetId
Required: Yes
Type: string

The identifier of an existing rule set to be retrieved.

Result Syntax

[
    'CreatedDate' => <DateTime>,
    'LastModificationDate' => <DateTime>,
    'RuleSetArn' => '<string>',
    'RuleSetId' => '<string>',
    'RuleSetName' => '<string>',
    'Rules' => [
        [
            'Actions' => [
                [
                    'AddHeader' => [
                        'HeaderName' => '<string>',
                        'HeaderValue' => '<string>',
                    ],
                    'Archive' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'TargetArchive' => '<string>',
                    ],
                    'DeliverToMailbox' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'MailboxArn' => '<string>',
                        'RoleArn' => '<string>',
                    ],
                    'Drop' => [
                    ],
                    'Relay' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'MailFrom' => 'REPLACE|PRESERVE',
                        'Relay' => '<string>',
                    ],
                    'ReplaceRecipient' => [
                        'ReplaceWith' => ['<string>', ...],
                    ],
                    'Send' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'RoleArn' => '<string>',
                    ],
                    'WriteToS3' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'RoleArn' => '<string>',
                        'S3Bucket' => '<string>',
                        'S3Prefix' => '<string>',
                        'S3SseKmsKeyId' => '<string>',
                    ],
                ],
                // ...
            ],
            'Conditions' => [
                [
                    'BooleanExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'READ_RECEIPT_REQUESTED|TLS|TLS_WRAPPED',
                        ],
                        'Operator' => 'IS_TRUE|IS_FALSE',
                    ],
                    'DmarcExpression' => [
                        'Operator' => 'EQUALS|NOT_EQUALS',
                        'Values' => ['<string>', ...],
                    ],
                    'IpExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'SOURCE_IP',
                        ],
                        'Operator' => 'CIDR_MATCHES|NOT_CIDR_MATCHES',
                        'Values' => ['<string>', ...],
                    ],
                    'NumberExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'MESSAGE_SIZE',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|LESS_THAN|GREATER_THAN|LESS_THAN_OR_EQUAL|GREATER_THAN_OR_EQUAL',
                        'Value' => <float>,
                    ],
                    'StringExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'MAIL_FROM|HELO|RECIPIENT|SENDER|FROM|SUBJECT|TO|CC',
                            'MimeHeaderAttribute' => '<string>',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|STARTS_WITH|ENDS_WITH|CONTAINS',
                        'Values' => ['<string>', ...],
                    ],
                    'VerdictExpression' => [
                        'Evaluate' => [
                            'Analysis' => [
                                'Analyzer' => '<string>',
                                'ResultField' => '<string>',
                            ],
                            'Attribute' => 'SPF|DKIM',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS',
                        'Values' => ['<string>', ...],
                    ],
                ],
                // ...
            ],
            'Name' => '<string>',
            'Unless' => [
                [
                    'BooleanExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'READ_RECEIPT_REQUESTED|TLS|TLS_WRAPPED',
                        ],
                        'Operator' => 'IS_TRUE|IS_FALSE',
                    ],
                    'DmarcExpression' => [
                        'Operator' => 'EQUALS|NOT_EQUALS',
                        'Values' => ['<string>', ...],
                    ],
                    'IpExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'SOURCE_IP',
                        ],
                        'Operator' => 'CIDR_MATCHES|NOT_CIDR_MATCHES',
                        'Values' => ['<string>', ...],
                    ],
                    'NumberExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'MESSAGE_SIZE',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|LESS_THAN|GREATER_THAN|LESS_THAN_OR_EQUAL|GREATER_THAN_OR_EQUAL',
                        'Value' => <float>,
                    ],
                    'StringExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'MAIL_FROM|HELO|RECIPIENT|SENDER|FROM|SUBJECT|TO|CC',
                            'MimeHeaderAttribute' => '<string>',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|STARTS_WITH|ENDS_WITH|CONTAINS',
                        'Values' => ['<string>', ...],
                    ],
                    'VerdictExpression' => [
                        'Evaluate' => [
                            'Analysis' => [
                                'Analyzer' => '<string>',
                                'ResultField' => '<string>',
                            ],
                            'Attribute' => 'SPF|DKIM',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS',
                        'Values' => ['<string>', ...],
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
CreatedDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date of when then rule set was created.

LastModificationDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date of when the rule set was last modified.

RuleSetArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the rule set resource.

RuleSetId
Required: Yes
Type: string

The identifier of the rule set resource.

RuleSetName
Required: Yes
Type: string

A user-friendly name for the rule set resource.

Rules
Required: Yes
Type: Array of Rule structures

The rules contained in the rule set.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

GetTrafficPolicy

$result = $client->getTrafficPolicy([/* ... */]);
$promise = $client->getTrafficPolicyAsync([/* ... */]);

Fetch attributes of a traffic policy resource.

Parameter Syntax

$result = $client->getTrafficPolicy([
    'TrafficPolicyId' => '<string>', // REQUIRED
]);

Parameter Details

Members
TrafficPolicyId
Required: Yes
Type: string

The identifier of the traffic policy resource.

Result Syntax

[
    'CreatedTimestamp' => <DateTime>,
    'DefaultAction' => 'ALLOW|DENY',
    'LastUpdatedTimestamp' => <DateTime>,
    'MaxMessageSizeBytes' => <integer>,
    'PolicyStatements' => [
        [
            'Action' => 'ALLOW|DENY',
            'Conditions' => [
                [
                    'BooleanExpression' => [
                        'Evaluate' => [
                            'Analysis' => [
                                'Analyzer' => '<string>',
                                'ResultField' => '<string>',
                            ],
                        ],
                        'Operator' => 'IS_TRUE|IS_FALSE',
                    ],
                    'IpExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'SENDER_IP',
                        ],
                        'Operator' => 'CIDR_MATCHES|NOT_CIDR_MATCHES',
                        'Values' => ['<string>', ...],
                    ],
                    'StringExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'RECIPIENT',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|STARTS_WITH|ENDS_WITH|CONTAINS',
                        'Values' => ['<string>', ...],
                    ],
                    'TlsExpression' => [
                        'Evaluate' => [
                            'Attribute' => 'TLS_PROTOCOL',
                        ],
                        'Operator' => 'MINIMUM_TLS_VERSION|IS',
                        'Value' => 'TLS1_2|TLS1_3',
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TrafficPolicyArn' => '<string>',
    'TrafficPolicyId' => '<string>',
    'TrafficPolicyName' => '<string>',
]

Result Details

Members
CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the traffic policy was created.

DefaultAction
Type: string

The default action of the traffic policy.

LastUpdatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the traffic policy was last updated.

MaxMessageSizeBytes
Type: int

The maximum message size in bytes of email which is allowed in by this traffic policy—anything larger will be blocked.

PolicyStatements
Type: Array of PolicyStatement structures

The list of conditions which are in the traffic policy resource.

TrafficPolicyArn
Type: string

The Amazon Resource Name (ARN) of the traffic policy resource.

TrafficPolicyId
Required: Yes
Type: string

The identifier of the traffic policy resource.

TrafficPolicyName
Required: Yes
Type: string

A user-friendly name for the traffic policy resource.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

ListAddonInstances

$result = $client->listAddonInstances([/* ... */]);
$promise = $client->listAddonInstancesAsync([/* ... */]);

Lists all Add On instances in your account.

Parameter Syntax

$result = $client->listAddonInstances([
    'NextToken' => '<string>',
    'PageSize' => <integer>,
]);

Parameter Details

Members
NextToken
Type: string

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

PageSize
Type: int

The maximum number of ingress endpoint resources that are returned per call. You can use NextToken to obtain further ingress endpoints.

Result Syntax

[
    'AddonInstances' => [
        [
            'AddonInstanceArn' => '<string>',
            'AddonInstanceId' => '<string>',
            'AddonName' => '<string>',
            'AddonSubscriptionId' => '<string>',
            'CreatedTimestamp' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
AddonInstances
Type: Array of AddonInstance structures

The list of ingress endpoints.

NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ListAddonSubscriptions

$result = $client->listAddonSubscriptions([/* ... */]);
$promise = $client->listAddonSubscriptionsAsync([/* ... */]);

Lists all Add On subscriptions in your account.

Parameter Syntax

$result = $client->listAddonSubscriptions([
    'NextToken' => '<string>',
    'PageSize' => <integer>,
]);

Parameter Details

Members
NextToken
Type: string

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

PageSize
Type: int

The maximum number of ingress endpoint resources that are returned per call. You can use NextToken to obtain further ingress endpoints.

Result Syntax

[
    'AddonSubscriptions' => [
        [
            'AddonName' => '<string>',
            'AddonSubscriptionArn' => '<string>',
            'AddonSubscriptionId' => '<string>',
            'CreatedTimestamp' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
AddonSubscriptions
Type: Array of AddonSubscription structures

The list of ingress endpoints.

NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ListArchiveExports

$result = $client->listArchiveExports([/* ... */]);
$promise = $client->listArchiveExportsAsync([/* ... */]);

Returns a list of email archive export jobs.

Parameter Syntax

$result = $client->listArchiveExports([
    'ArchiveId' => '<string>', // REQUIRED
    'NextToken' => '<string>',
    'PageSize' => <integer>,
]);

Parameter Details

Members
ArchiveId
Required: Yes
Type: string

The identifier of the archive.

NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

PageSize
Type: int

The maximum number of archive export jobs that are returned per call. You can use NextToken to obtain further pages of archives.

Result Syntax

[
    'Exports' => [
        [
            'ExportId' => '<string>',
            'Status' => [
                'CompletionTimestamp' => <DateTime>,
                'ErrorMessage' => '<string>',
                'State' => 'QUEUED|PREPROCESSING|PROCESSING|COMPLETED|FAILED|CANCELLED',
                'SubmissionTimestamp' => <DateTime>,
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Exports
Type: Array of ExportSummary structures

The list of export job identifiers and statuses.

NextToken
Type: string

If present, use to retrieve the next page of results.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ResourceNotFoundException:

Occurs when a requested resource is not found.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

ListArchiveSearches

$result = $client->listArchiveSearches([/* ... */]);
$promise = $client->listArchiveSearchesAsync([/* ... */]);

Returns a list of email archive search jobs.

Parameter Syntax

$result = $client->listArchiveSearches([
    'ArchiveId' => '<string>', // REQUIRED
    'NextToken' => '<string>',
    'PageSize' => <integer>,
]);

Parameter Details

Members
ArchiveId
Required: Yes
Type: string

The identifier of the archive.

NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

PageSize
Type: int

The maximum number of archive search jobs that are returned per call. You can use NextToken to obtain further pages of archives.

Result Syntax

[
    'NextToken' => '<string>',
    'Searches' => [
        [
            'SearchId' => '<string>',
            'Status' => [
                'CompletionTimestamp' => <DateTime>,
                'ErrorMessage' => '<string>',
                'State' => 'QUEUED|RUNNING|COMPLETED|FAILED|CANCELLED',
                'SubmissionTimestamp' => <DateTime>,
            ],
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

If present, use to retrieve the next page of results.

Searches
Type: Array of SearchSummary structures

The list of search job identifiers and statuses.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ResourceNotFoundException:

Occurs when a requested resource is not found.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

ListArchives

$result = $client->listArchives([/* ... */]);
$promise = $client->listArchivesAsync([/* ... */]);

Returns a list of all email archives in your account.

Parameter Syntax

$result = $client->listArchives([
    'NextToken' => '<string>',
    'PageSize' => <integer>,
]);

Parameter Details

Members
NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

PageSize
Type: int

The maximum number of archives that are returned per call. You can use NextToken to obtain further pages of archives.

Result Syntax

[
    'Archives' => [
        [
            'ArchiveId' => '<string>',
            'ArchiveName' => '<string>',
            'ArchiveState' => 'ACTIVE|PENDING_DELETION',
            'LastUpdatedTimestamp' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Archives
Required: Yes
Type: Array of Archive structures

The list of archive details.

NextToken
Type: string

If present, use to retrieve the next page of results.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

ListIngressPoints

$result = $client->listIngressPoints([/* ... */]);
$promise = $client->listIngressPointsAsync([/* ... */]);

List all ingress endpoint resources.

Parameter Syntax

$result = $client->listIngressPoints([
    'NextToken' => '<string>',
    'PageSize' => <integer>,
]);

Parameter Details

Members
NextToken
Type: string

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

PageSize
Type: int

The maximum number of ingress endpoint resources that are returned per call. You can use NextToken to obtain further ingress endpoints.

Result Syntax

[
    'IngressPoints' => [
        [
            'ARecord' => '<string>',
            'IngressPointId' => '<string>',
            'IngressPointName' => '<string>',
            'Status' => 'PROVISIONING|DEPROVISIONING|UPDATING|ACTIVE|CLOSED|FAILED',
            'Type' => 'OPEN|AUTH',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IngressPoints
Type: Array of IngressPoint structures

The list of ingress endpoints.

NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ListRelays

$result = $client->listRelays([/* ... */]);
$promise = $client->listRelaysAsync([/* ... */]);

Lists all the existing relay resources.

Parameter Syntax

$result = $client->listRelays([
    'NextToken' => '<string>',
    'PageSize' => <integer>,
]);

Parameter Details

Members
NextToken
Type: string

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

PageSize
Type: int

The number of relays to be returned in one request.

Result Syntax

[
    'NextToken' => '<string>',
    'Relays' => [
        [
            'LastModifiedTimestamp' => <DateTime>,
            'RelayId' => '<string>',
            'RelayName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

Relays
Required: Yes
Type: Array of Relay structures

The list of returned relays.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ListRuleSets

$result = $client->listRuleSets([/* ... */]);
$promise = $client->listRuleSetsAsync([/* ... */]);

List rule sets for this account.

Parameter Syntax

$result = $client->listRuleSets([
    'NextToken' => '<string>',
    'PageSize' => <integer>,
]);

Parameter Details

Members
NextToken
Type: string

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

PageSize
Type: int

The maximum number of rule set resources that are returned per call. You can use NextToken to obtain further rule sets.

Result Syntax

[
    'NextToken' => '<string>',
    'RuleSets' => [
        [
            'LastModificationDate' => <DateTime>,
            'RuleSetId' => '<string>',
            'RuleSetName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

RuleSets
Required: Yes
Type: Array of RuleSet structures

The list of rule sets.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Retrieves the list of tags (keys and values) assigned to the resource.

Parameter Syntax

$result = $client->listTagsForResource([
    'ResourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource to retrieve tags from.

Result Syntax

[
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Tags
Required: Yes
Type: Array of Tag structures

The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

ListTrafficPolicies

$result = $client->listTrafficPolicies([/* ... */]);
$promise = $client->listTrafficPoliciesAsync([/* ... */]);

List traffic policy resources.

Parameter Syntax

$result = $client->listTrafficPolicies([
    'NextToken' => '<string>',
    'PageSize' => <integer>,
]);

Parameter Details

Members
NextToken
Type: string

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

PageSize
Type: int

The maximum number of traffic policy resources that are returned per call. You can use NextToken to obtain further traffic policies.

Result Syntax

[
    'NextToken' => '<string>',
    'TrafficPolicies' => [
        [
            'DefaultAction' => 'ALLOW|DENY',
            'TrafficPolicyId' => '<string>',
            'TrafficPolicyName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

TrafficPolicies
Type: Array of TrafficPolicy structures

The list of traffic policies.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

StartArchiveExport

$result = $client->startArchiveExport([/* ... */]);
$promise = $client->startArchiveExportAsync([/* ... */]);

Initiates an export of emails from the specified archive.

Parameter Syntax

$result = $client->startArchiveExport([
    'ArchiveId' => '<string>', // REQUIRED
    'ExportDestinationConfiguration' => [ // REQUIRED
        'S3' => [
            'S3Location' => '<string>',
        ],
    ],
    'Filters' => [
        'Include' => [
            [
                'BooleanExpression' => [
                    'Evaluate' => [ // REQUIRED
                        'Attribute' => 'HAS_ATTACHMENTS',
                    ],
                    'Operator' => 'IS_TRUE|IS_FALSE', // REQUIRED
                ],
                'StringExpression' => [
                    'Evaluate' => [ // REQUIRED
                        'Attribute' => 'TO|FROM|CC|SUBJECT|ENVELOPE_TO|ENVELOPE_FROM',
                    ],
                    'Operator' => 'CONTAINS', // REQUIRED
                    'Values' => ['<string>', ...], // REQUIRED
                ],
            ],
            // ...
        ],
        'Unless' => [
            [
                'BooleanExpression' => [
                    'Evaluate' => [ // REQUIRED
                        'Attribute' => 'HAS_ATTACHMENTS',
                    ],
                    'Operator' => 'IS_TRUE|IS_FALSE', // REQUIRED
                ],
                'StringExpression' => [
                    'Evaluate' => [ // REQUIRED
                        'Attribute' => 'TO|FROM|CC|SUBJECT|ENVELOPE_TO|ENVELOPE_FROM',
                    ],
                    'Operator' => 'CONTAINS', // REQUIRED
                    'Values' => ['<string>', ...], // REQUIRED
                ],
            ],
            // ...
        ],
    ],
    'FromTimestamp' => <integer || string || DateTime>, // REQUIRED
    'IncludeMetadata' => true || false,
    'MaxResults' => <integer>,
    'ToTimestamp' => <integer || string || DateTime>, // REQUIRED
]);

Parameter Details

Members
ArchiveId
Required: Yes
Type: string

The identifier of the archive to export emails from.

ExportDestinationConfiguration
Required: Yes
Type: ExportDestinationConfiguration structure

Details on where to deliver the exported email data.

Filters
Type: ArchiveFilters structure

Criteria to filter which emails are included in the export.

FromTimestamp
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start of the timestamp range to include emails from.

IncludeMetadata
Type: boolean

Whether to include message metadata as JSON files in the export.

MaxResults
Type: int

The maximum number of email items to include in the export.

ToTimestamp
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end of the timestamp range to include emails from.

Result Syntax

[
    'ExportId' => '<string>',
]

Result Details

Members
ExportId
Type: string

The unique identifier for the initiated export job.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ResourceNotFoundException:

Occurs when a requested resource is not found.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

StartArchiveSearch

$result = $client->startArchiveSearch([/* ... */]);
$promise = $client->startArchiveSearchAsync([/* ... */]);

Initiates a search across emails in the specified archive.

Parameter Syntax

$result = $client->startArchiveSearch([
    'ArchiveId' => '<string>', // REQUIRED
    'Filters' => [
        'Include' => [
            [
                'BooleanExpression' => [
                    'Evaluate' => [ // REQUIRED
                        'Attribute' => 'HAS_ATTACHMENTS',
                    ],
                    'Operator' => 'IS_TRUE|IS_FALSE', // REQUIRED
                ],
                'StringExpression' => [
                    'Evaluate' => [ // REQUIRED
                        'Attribute' => 'TO|FROM|CC|SUBJECT|ENVELOPE_TO|ENVELOPE_FROM',
                    ],
                    'Operator' => 'CONTAINS', // REQUIRED
                    'Values' => ['<string>', ...], // REQUIRED
                ],
            ],
            // ...
        ],
        'Unless' => [
            [
                'BooleanExpression' => [
                    'Evaluate' => [ // REQUIRED
                        'Attribute' => 'HAS_ATTACHMENTS',
                    ],
                    'Operator' => 'IS_TRUE|IS_FALSE', // REQUIRED
                ],
                'StringExpression' => [
                    'Evaluate' => [ // REQUIRED
                        'Attribute' => 'TO|FROM|CC|SUBJECT|ENVELOPE_TO|ENVELOPE_FROM',
                    ],
                    'Operator' => 'CONTAINS', // REQUIRED
                    'Values' => ['<string>', ...], // REQUIRED
                ],
            ],
            // ...
        ],
    ],
    'FromTimestamp' => <integer || string || DateTime>, // REQUIRED
    'MaxResults' => <integer>, // REQUIRED
    'ToTimestamp' => <integer || string || DateTime>, // REQUIRED
]);

Parameter Details

Members
ArchiveId
Required: Yes
Type: string

The identifier of the archive to search emails in.

Filters
Type: ArchiveFilters structure

Criteria to filter which emails are included in the search results.

FromTimestamp
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start timestamp of the range to search emails from.

MaxResults
Required: Yes
Type: int

The maximum number of search results to return.

ToTimestamp
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end timestamp of the range to search emails from.

Result Syntax

[
    'SearchId' => '<string>',
]

Result Details

Members
SearchId
Type: string

The unique identifier for the initiated search job.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

StopArchiveExport

$result = $client->stopArchiveExport([/* ... */]);
$promise = $client->stopArchiveExportAsync([/* ... */]);

Stops an in-progress export of emails from an archive.

Parameter Syntax

$result = $client->stopArchiveExport([
    'ExportId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ExportId
Required: Yes
Type: string

The identifier of the export job to stop.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

StopArchiveSearch

$result = $client->stopArchiveSearch([/* ... */]);
$promise = $client->stopArchiveSearchAsync([/* ... */]);

Stops an in-progress archive search job.

Parameter Syntax

$result = $client->stopArchiveSearch([
    'SearchId' => '<string>', // REQUIRED
]);

Parameter Details

Members
SearchId
Required: Yes
Type: string

The identifier of the search job to stop.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Adds one or more tags (keys and values) to a specified resource.

Parameter Syntax

$result = $client->tagResource([
    'ResourceArn' => '<string>', // REQUIRED
    'Tags' => [ // REQUIRED
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource that you want to tag.

Tags
Required: Yes
Type: Array of Tag structures

The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Remove one or more tags (keys and values) from a specified resource.

Parameter Syntax

$result = $client->untagResource([
    'ResourceArn' => '<string>', // REQUIRED
    'TagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource that you want to untag.

TagKeys
Required: Yes
Type: Array of strings

The keys of the key-value pairs for the tag or tags you want to remove from the specified resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

UpdateArchive

$result = $client->updateArchive([/* ... */]);
$promise = $client->updateArchiveAsync([/* ... */]);

Updates the attributes of an existing email archive.

Parameter Syntax

$result = $client->updateArchive([
    'ArchiveId' => '<string>', // REQUIRED
    'ArchiveName' => '<string>',
    'Retention' => [
        'RetentionPeriod' => 'THREE_MONTHS|SIX_MONTHS|NINE_MONTHS|ONE_YEAR|EIGHTEEN_MONTHS|TWO_YEARS|THIRTY_MONTHS|THREE_YEARS|FOUR_YEARS|FIVE_YEARS|SIX_YEARS|SEVEN_YEARS|EIGHT_YEARS|NINE_YEARS|TEN_YEARS|PERMANENT',
    ],
]);

Parameter Details

Members
ArchiveId
Required: Yes
Type: string

The identifier of the archive to update.

ArchiveName
Type: string

A new, unique name for the archive.

Retention
Type: ArchiveRetention structure

A new retention period for emails in the archive.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

AccessDeniedException:

Occurs when a user is denied access to a specific resource or action.

ServiceQuotaExceededException:

Occurs when an operation exceeds a predefined service quota or limit.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

ThrottlingException:

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

UpdateIngressPoint

$result = $client->updateIngressPoint([/* ... */]);
$promise = $client->updateIngressPointAsync([/* ... */]);

Update attributes of a provisioned ingress endpoint resource.

Parameter Syntax

$result = $client->updateIngressPoint([
    'IngressPointConfiguration' => [
        'SecretArn' => '<string>',
        'SmtpPassword' => '<string>',
    ],
    'IngressPointId' => '<string>', // REQUIRED
    'IngressPointName' => '<string>',
    'RuleSetId' => '<string>',
    'StatusToUpdate' => 'ACTIVE|CLOSED',
    'TrafficPolicyId' => '<string>',
]);

Parameter Details

Members
IngressPointConfiguration
Type: IngressPointConfiguration structure

If you choose an Authenticated ingress endpoint, you must configure either an SMTP password or a secret ARN.

IngressPointId
Required: Yes
Type: string

The identifier for the ingress endpoint you want to update.

IngressPointName
Type: string

A user friendly name for the ingress endpoint resource.

RuleSetId
Type: string

The identifier of an existing rule set that you attach to an ingress endpoint resource.

StatusToUpdate
Type: string

The update status of an ingress endpoint.

TrafficPolicyId
Type: string

The identifier of an existing traffic policy that you attach to an ingress endpoint resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

UpdateRelay

$result = $client->updateRelay([/* ... */]);
$promise = $client->updateRelayAsync([/* ... */]);

Updates the attributes of an existing relay resource.

Parameter Syntax

$result = $client->updateRelay([
    'Authentication' => [
        'NoAuthentication' => [
        ],
        'SecretArn' => '<string>',
    ],
    'RelayId' => '<string>', // REQUIRED
    'RelayName' => '<string>',
    'ServerName' => '<string>',
    'ServerPort' => <integer>,
]);

Parameter Details

Members
Authentication
Type: RelayAuthentication structure

Authentication for the relay destination server—specify the secretARN where the SMTP credentials are stored.

RelayId
Required: Yes
Type: string

The unique relay identifier.

RelayName
Type: string

The name of the relay resource.

ServerName
Type: string

The destination relay server address.

ServerPort
Type: int

The destination relay server port.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

UpdateRuleSet

$result = $client->updateRuleSet([/* ... */]);
$promise = $client->updateRuleSetAsync([/* ... */]);

Update attributes of an already provisioned rule set.

Parameter Syntax

$result = $client->updateRuleSet([
    'RuleSetId' => '<string>', // REQUIRED
    'RuleSetName' => '<string>',
    'Rules' => [
        [
            'Actions' => [ // REQUIRED
                [
                    'AddHeader' => [
                        'HeaderName' => '<string>', // REQUIRED
                        'HeaderValue' => '<string>', // REQUIRED
                    ],
                    'Archive' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'TargetArchive' => '<string>', // REQUIRED
                    ],
                    'DeliverToMailbox' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'MailboxArn' => '<string>', // REQUIRED
                        'RoleArn' => '<string>', // REQUIRED
                    ],
                    'Drop' => [
                    ],
                    'Relay' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'MailFrom' => 'REPLACE|PRESERVE',
                        'Relay' => '<string>', // REQUIRED
                    ],
                    'ReplaceRecipient' => [
                        'ReplaceWith' => ['<string>', ...],
                    ],
                    'Send' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'RoleArn' => '<string>', // REQUIRED
                    ],
                    'WriteToS3' => [
                        'ActionFailurePolicy' => 'CONTINUE|DROP',
                        'RoleArn' => '<string>', // REQUIRED
                        'S3Bucket' => '<string>', // REQUIRED
                        'S3Prefix' => '<string>',
                        'S3SseKmsKeyId' => '<string>',
                    ],
                ],
                // ...
            ],
            'Conditions' => [
                [
                    'BooleanExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'READ_RECEIPT_REQUESTED|TLS|TLS_WRAPPED',
                        ],
                        'Operator' => 'IS_TRUE|IS_FALSE', // REQUIRED
                    ],
                    'DmarcExpression' => [
                        'Operator' => 'EQUALS|NOT_EQUALS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'IpExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'SOURCE_IP',
                        ],
                        'Operator' => 'CIDR_MATCHES|NOT_CIDR_MATCHES', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'NumberExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'MESSAGE_SIZE',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|LESS_THAN|GREATER_THAN|LESS_THAN_OR_EQUAL|GREATER_THAN_OR_EQUAL', // REQUIRED
                        'Value' => <float>, // REQUIRED
                    ],
                    'StringExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'MAIL_FROM|HELO|RECIPIENT|SENDER|FROM|SUBJECT|TO|CC',
                            'MimeHeaderAttribute' => '<string>',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|STARTS_WITH|ENDS_WITH|CONTAINS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'VerdictExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Analysis' => [
                                'Analyzer' => '<string>', // REQUIRED
                                'ResultField' => '<string>', // REQUIRED
                            ],
                            'Attribute' => 'SPF|DKIM',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                ],
                // ...
            ],
            'Name' => '<string>',
            'Unless' => [
                [
                    'BooleanExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'READ_RECEIPT_REQUESTED|TLS|TLS_WRAPPED',
                        ],
                        'Operator' => 'IS_TRUE|IS_FALSE', // REQUIRED
                    ],
                    'DmarcExpression' => [
                        'Operator' => 'EQUALS|NOT_EQUALS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'IpExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'SOURCE_IP',
                        ],
                        'Operator' => 'CIDR_MATCHES|NOT_CIDR_MATCHES', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'NumberExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'MESSAGE_SIZE',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|LESS_THAN|GREATER_THAN|LESS_THAN_OR_EQUAL|GREATER_THAN_OR_EQUAL', // REQUIRED
                        'Value' => <float>, // REQUIRED
                    ],
                    'StringExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'MAIL_FROM|HELO|RECIPIENT|SENDER|FROM|SUBJECT|TO|CC',
                            'MimeHeaderAttribute' => '<string>',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|STARTS_WITH|ENDS_WITH|CONTAINS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'VerdictExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Analysis' => [
                                'Analyzer' => '<string>', // REQUIRED
                                'ResultField' => '<string>', // REQUIRED
                            ],
                            'Attribute' => 'SPF|DKIM',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
RuleSetId
Required: Yes
Type: string

The identifier of a rule set you want to update.

RuleSetName
Type: string

A user-friendly name for the rule set resource.

Rules
Type: Array of Rule structures

A new set of rules to replace the current rules of the rule set—these rules will override all the rules of the rule set.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

UpdateTrafficPolicy

$result = $client->updateTrafficPolicy([/* ... */]);
$promise = $client->updateTrafficPolicyAsync([/* ... */]);

Update attributes of an already provisioned traffic policy resource.

Parameter Syntax

$result = $client->updateTrafficPolicy([
    'DefaultAction' => 'ALLOW|DENY',
    'MaxMessageSizeBytes' => <integer>,
    'PolicyStatements' => [
        [
            'Action' => 'ALLOW|DENY', // REQUIRED
            'Conditions' => [ // REQUIRED
                [
                    'BooleanExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Analysis' => [
                                'Analyzer' => '<string>', // REQUIRED
                                'ResultField' => '<string>', // REQUIRED
                            ],
                        ],
                        'Operator' => 'IS_TRUE|IS_FALSE', // REQUIRED
                    ],
                    'IpExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'SENDER_IP',
                        ],
                        'Operator' => 'CIDR_MATCHES|NOT_CIDR_MATCHES', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'StringExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'RECIPIENT',
                        ],
                        'Operator' => 'EQUALS|NOT_EQUALS|STARTS_WITH|ENDS_WITH|CONTAINS', // REQUIRED
                        'Values' => ['<string>', ...], // REQUIRED
                    ],
                    'TlsExpression' => [
                        'Evaluate' => [ // REQUIRED
                            'Attribute' => 'TLS_PROTOCOL',
                        ],
                        'Operator' => 'MINIMUM_TLS_VERSION|IS', // REQUIRED
                        'Value' => 'TLS1_2|TLS1_3', // REQUIRED
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TrafficPolicyId' => '<string>', // REQUIRED
    'TrafficPolicyName' => '<string>',
]);

Parameter Details

Members
DefaultAction
Type: string

Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements

MaxMessageSizeBytes
Type: int

The maximum message size in bytes of email which is allowed in by this traffic policy—anything larger will be blocked.

PolicyStatements
Type: Array of PolicyStatement structures

The list of conditions to be updated for filtering email traffic.

TrafficPolicyId
Required: Yes
Type: string

The identifier of the traffic policy that you want to update.

TrafficPolicyName
Type: string

A user-friendly name for the traffic policy resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request validation has failed. For details, see the accompanying error message.

ConflictException:

The request configuration has conflicts. For details, see the accompanying error message.

ResourceNotFoundException:

Occurs when a requested resource is not found.

Shapes

AccessDeniedException

Description

Occurs when a user is denied access to a specific resource or action.

Members
Message
Type: string

AddHeaderAction

Description

The action to add a header to a message. When executed, this action will add the given header to the message.

Members
HeaderName
Required: Yes
Type: string

The name of the header to add to an email. The header must be prefixed with "X-". Headers are added regardless of whether the header name pre-existed in the email.

HeaderValue
Required: Yes
Type: string

The value of the header to add to the email.

AddonInstance

Description

An Add On instance represents a specific configuration of an Add On.

Members
AddonInstanceArn
Type: string

The Amazon Resource Name (ARN) of the Add On instance.

AddonInstanceId
Type: string

The unique ID of the Add On instance.

AddonName
Type: string

The name of the Add On for the instance.

AddonSubscriptionId
Type: string

The subscription ID for the instance.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the Add On instance was created.

AddonSubscription

Description

A subscription for an Add On representing the acceptance of its terms of use and additional pricing.

Members
AddonName
Type: string

The name of the Add On.

AddonSubscriptionArn
Type: string

The Amazon Resource Name (ARN) of the Add On subscription.

AddonSubscriptionId
Type: string

The unique ID of the Add On subscription.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the Add On subscription was created.

Analysis

Description

The result of an analysis can be used in conditions to trigger actions. Analyses can inspect the email content and report a certain aspect of the email.

Members
Analyzer
Required: Yes
Type: string

The Amazon Resource Name (ARN) of an Add On.

ResultField
Required: Yes
Type: string

The returned value from an Add On.

Archive

Description

An archive resource for storing and retaining emails.

Members
ArchiveId
Required: Yes
Type: string

The unique identifier of the archive.

ArchiveName
Type: string

The unique name assigned to the archive.

ArchiveState
Type: string

The current state of the archive:

  • ACTIVE – The archive is ready and available for use.

  • PENDING_DELETION – The archive has been marked for deletion and will be permanently deleted in 30 days. No further modifications can be made in this state.

LastUpdatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the archive was last updated.

ArchiveAction

Description

The action to archive the email by delivering the email to an Amazon SES archive.

Members
ActionFailurePolicy
Type: string

A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified archive has been deleted.

TargetArchive
Required: Yes
Type: string

The identifier of the archive to send the email to.

ArchiveBooleanExpression

Description

A boolean expression to evaluate email attribute values.

Members
Evaluate
Required: Yes
Type: ArchiveBooleanToEvaluate structure

The email attribute value to evaluate.

Operator
Required: Yes
Type: string

The boolean operator to use for evaluation.

ArchiveBooleanToEvaluate

Description

The attribute to evaluate in a boolean expression.

Members
Attribute
Type: string

The name of the email attribute to evaluate.

ArchiveFilterCondition

Description

A filter condition used to include or exclude emails when exporting from or searching an archive.

Members
BooleanExpression
Type: ArchiveBooleanExpression structure

A boolean expression to evaluate against email attributes.

StringExpression
Type: ArchiveStringExpression structure

A string expression to evaluate against email attributes.

ArchiveFilters

Description

A set of filter conditions to include and/or exclude emails.

Members
Include
Type: Array of ArchiveFilterCondition structures

The filter conditions for emails to include.

Unless
Type: Array of ArchiveFilterCondition structures

The filter conditions for emails to exclude.

ArchiveRetention

Description

The retention policy for an email archive that specifies how long emails are kept before being automatically deleted.

Members
RetentionPeriod
Type: string

The enum value sets the period for retaining emails in an archive.

ArchiveStringExpression

Description

A string expression to evaluate an email attribute value against one or more string values.

Members
Evaluate
Required: Yes
Type: ArchiveStringToEvaluate structure

The attribute of the email to evaluate.

Operator
Required: Yes
Type: string

The operator to use when evaluating the string values.

Values
Required: Yes
Type: Array of strings

The list of string values to evaluate the email attribute against.

ArchiveStringToEvaluate

Description

Specifies the email attribute to evaluate in a string expression.

Members
Attribute
Type: string

The name of the email attribute to evaluate.

ConflictException

Description

The request configuration has conflicts. For details, see the accompanying error message.

Members
Message
Type: string

DeliverToMailboxAction

Description

This action to delivers an email to a mailbox.

Members
ActionFailurePolicy
Type: string

A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the mailbox ARN is no longer valid.

MailboxArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of a WorkMail organization to deliver the email to.

RoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of an IAM role to use to execute this action. The role must have access to the workmail:DeliverToMailbox API.

DropAction

Description

This action causes processing to stop and the email to be dropped. If the action applies only to certain recipients, only those recipients are dropped, and processing continues for other recipients.

Members

Envelope

Description

The SMTP envelope information of the email.

Members
From
Type: string

The RCPT FROM given by the host from which the email was received.

Helo
Type: string

The HELO used by the host from which the email was received.

To
Type: Array of strings

All SMTP TO entries given by the host from which the email was received.

ExportDestinationConfiguration

Description

The destination configuration for delivering exported email data.

Members
S3

Configuration for delivering to an Amazon S3 bucket.

ExportStatus

Description

The current status of an archive export job.

Members
CompletionTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the export job completed (if finished).

ErrorMessage
Type: string

An error message if the export job failed.

State
Type: string

The current state of the export job.

SubmissionTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the export job was submitted.

ExportSummary

Description

Summary statuses of an archive export job.

Members
ExportId
Type: string

The unique identifier of the export job.

Status
Type: ExportStatus structure

The current status of the export job.

IngressAnalysis

Description

The Add On ARN and its returned value that is evaluated in a policy statement's conditional expression to either deny or block the incoming email.

Members
Analyzer
Required: Yes
Type: string

The Amazon Resource Name (ARN) of an Add On.

ResultField
Required: Yes
Type: string

The returned value from an Add On.

IngressBooleanExpression

Description

The structure for a boolean condition matching on the incoming mail.

Members
Evaluate
Required: Yes
Type: IngressBooleanToEvaluate structure

The operand on which to perform a boolean condition operation.

Operator
Required: Yes
Type: string

The matching operator for a boolean condition expression.

IngressBooleanToEvaluate

Description

The union type representing the allowed types of operands for a boolean condition.

Members
Analysis
Type: IngressAnalysis structure

The structure type for a boolean condition stating the Add On ARN and its returned value.

IngressIpToEvaluate

Description

The structure for an IP based condition matching on the incoming mail.

Members
Attribute
Type: string

An enum type representing the allowed attribute types for an IP condition.

IngressIpv4Expression

Description

The union type representing the allowed types for the left hand side of an IP condition.

Members
Evaluate
Required: Yes
Type: IngressIpToEvaluate structure

The left hand side argument of an IP condition expression.

Operator
Required: Yes
Type: string

The matching operator for an IP condition expression.

Values
Required: Yes
Type: Array of strings

The right hand side argument of an IP condition expression.

IngressPoint

Description

The structure of an ingress endpoint resource.

Members
ARecord
Type: string

The DNS A Record that identifies your ingress endpoint. Configure your DNS Mail Exchange (MX) record with this value to route emails to Mail Manager.

IngressPointId
Required: Yes
Type: string

The identifier of the ingress endpoint resource.

IngressPointName
Required: Yes
Type: string

A user friendly name for the ingress endpoint resource.

Status
Required: Yes
Type: string

The status of the ingress endpoint resource.

Type
Required: Yes
Type: string

The type of ingress endpoint resource.

IngressPointAuthConfiguration

Description

The authentication configuration for the ingress endpoint resource.

Members
IngressPointPasswordConfiguration

The ingress endpoint password configuration for the ingress endpoint resource.

SecretArn
Type: string

The ingress endpoint SecretsManager::Secret ARN configuration for the ingress endpoint resource.

IngressPointConfiguration

Description

The configuration of the ingress endpoint resource.

Members
SecretArn
Type: string

The SecretsManager::Secret ARN of the ingress endpoint resource.

SmtpPassword
Type: string

The password of the ingress endpoint resource.

IngressPointPasswordConfiguration

Description

The password configuration of the ingress endpoint resource.

Members
PreviousSmtpPasswordExpiryTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The previous password expiry timestamp of the ingress endpoint resource.

PreviousSmtpPasswordVersion
Type: string

The previous password version of the ingress endpoint resource.

SmtpPasswordVersion
Type: string

The current password expiry timestamp of the ingress endpoint resource.

IngressStringExpression

Description

The structure for a string based condition matching on the incoming mail.

Members
Evaluate
Required: Yes
Type: IngressStringToEvaluate structure

The left hand side argument of a string condition expression.

Operator
Required: Yes
Type: string

The matching operator for a string condition expression.

Values
Required: Yes
Type: Array of strings

The right hand side argument of a string condition expression.

IngressStringToEvaluate

Description

The union type representing the allowed types for the left hand side of a string condition.

Members
Attribute
Type: string

The enum type representing the allowed attribute types for a string condition.

IngressTlsProtocolExpression

Description

The structure for a TLS related condition matching on the incoming mail.

Members
Evaluate
Required: Yes
Type: IngressTlsProtocolToEvaluate structure

The left hand side argument of a TLS condition expression.

Operator
Required: Yes
Type: string

The matching operator for a TLS condition expression.

Value
Required: Yes
Type: string

The right hand side argument of a TLS condition expression.

IngressTlsProtocolToEvaluate

Description

The union type representing the allowed types for the left hand side of a TLS condition.

Members
Attribute
Type: string

The enum type representing the allowed attribute types for the TLS condition.

MessageBody

Description

The textual body content of an email message.

Members
Html
Type: string

The HTML body content of the message.

MessageMalformed
Type: boolean

A flag indicating if the email was malformed.

Text
Type: string

The plain text body content of the message.

Metadata

Description

The metadata about the email.

Members
IngressPointId
Type: string

The ID of the ingress endpoint through which the email was received.

RuleSetId
Type: string

The ID of the rule set that processed the email.

SenderHostname
Type: string

The name of the host from which the email was received.

SenderIpAddress
Type: string

The IP address of the host from which the email was received.

Timestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the email was received.

TlsCipherSuite
Type: string

The TLS cipher suite used to communicate with the host from which the email was received.

TlsProtocol
Type: string

The TLS protocol used to communicate with the host from which the email was received.

TrafficPolicyId
Type: string

The ID of the traffic policy that was in effect when the email was received.

NoAuthentication

Description

Explicitly indicate that the relay destination server does not require SMTP credential authentication.

Members

PolicyCondition

Description

The email traffic filtering conditions which are contained in a traffic policy resource.

Members
BooleanExpression
Type: IngressBooleanExpression structure

This represents a boolean type condition matching on the incoming mail. It performs the boolean operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.

IpExpression
Type: IngressIpv4Expression structure

This represents an IP based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.

StringExpression
Type: IngressStringExpression structure

This represents a string based condition matching on the incoming mail. It performs the string operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.

TlsExpression

This represents a TLS based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.

PolicyStatement

Description

The structure containing traffic policy conditions and actions.

Members
Action
Required: Yes
Type: string

The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.

Conditions
Required: Yes
Type: Array of PolicyCondition structures

The list of conditions to apply to incoming messages for filtering email traffic.

Relay

Description

The relay resource that can be used as a rule to relay receiving emails to the destination relay server.

Members
LastModifiedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the relay was last modified.

RelayId
Type: string

The unique relay identifier.

RelayName
Type: string

The unique relay name.

RelayAction

Description

The action relays the email via SMTP to another specific SMTP server.

Members
ActionFailurePolicy
Type: string

A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified relay has been deleted.

MailFrom
Type: string

This action specifies whether to preserve or replace original mail from address while relaying received emails to a destination server.

Relay
Required: Yes
Type: string

The identifier of the relay resource to be used when relaying an email.

RelayAuthentication

Description

Authentication for the relay destination server—specify the secretARN where the SMTP credentials are stored, or specify an empty NoAuthentication structure if the relay destination server does not require SMTP credential authentication.

Members
NoAuthentication
Type: NoAuthentication structure

Keep an empty structure if the relay destination server does not require SMTP credential authentication.

SecretArn
Type: string

The ARN of the secret created in secrets manager where the relay server's SMTP credentials are stored.

ReplaceRecipientAction

Description

This action replaces the email envelope recipients with the given list of recipients. If the condition of this action applies only to a subset of recipients, only those recipients are replaced with the recipients specified in the action. The message contents and headers are unaffected by this action, only the envelope recipients are updated.

Members
ReplaceWith
Type: Array of strings

This action specifies the replacement recipient email addresses to insert.

ResourceNotFoundException

Description

Occurs when a requested resource is not found.

Members
Message
Type: string

Row

Description

A result row containing metadata for an archived email message.

Members
ArchivedMessageId
Type: string

The unique identifier of the archived message.

Cc
Type: string

The email addresses in the CC header.

Date
Type: string

The date the email was sent.

Envelope
Type: Envelope structure

The SMTP envelope information of the email.

From
Type: string

The email address of the sender.

HasAttachments
Type: boolean

A flag indicating if the email has attachments.

InReplyTo
Type: string

The email message ID this is a reply to.

IngressPointId
Type: string

The ID of the ingress endpoint through which the email was received.

MessageId
Type: string

The unique message ID of the email.

ReceivedHeaders
Type: Array of strings

The received headers from the email delivery path.

ReceivedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the email was received.

SenderHostname
Type: string

The name of the host from which the email was received.

SenderIpAddress
Type: string

The IP address of the host from which the email was received.

Subject
Type: string

The subject header value of the email.

To
Type: string

The email addresses in the To header.

XMailer
Type: string

The user agent that sent the email.

XOriginalMailer
Type: string

The original user agent that sent the email.

XPriority
Type: string

The priority level of the email.

Rule

Description

A rule contains conditions, "unless conditions" and actions. For each envelope recipient of an email, if all conditions match and none of the "unless conditions" match, then all of the actions are executed sequentially. If no conditions are provided, the rule always applies and the actions are implicitly executed. If only "unless conditions" are provided, the rule applies if the email does not match the evaluation of the "unless conditions".

Members
Actions
Required: Yes
Type: Array of RuleAction structures

The list of actions to execute when the conditions match the incoming email, and none of the "unless conditions" match.

Conditions
Type: Array of RuleCondition structures

The conditions of this rule. All conditions must match the email for the actions to be executed. An empty list of conditions means that all emails match, but are still subject to any "unless conditions"

Name
Type: string

The user-friendly name of the rule.

Unless
Type: Array of RuleCondition structures

The "unless conditions" of this rule. None of the conditions can match the email for the actions to be executed. If any of these conditions do match the email, then the actions are not executed.

RuleAction

Description

The action for a rule to take. Only one of the contained actions can be set.

Members
AddHeader
Type: AddHeaderAction structure

This action adds a header. This can be used to add arbitrary email headers.

Archive
Type: ArchiveAction structure

This action archives the email. This can be used to deliver an email to an archive.

DeliverToMailbox
Type: DeliverToMailboxAction structure

This action delivers an email to a WorkMail mailbox.

Drop
Type: DropAction structure

This action terminates the evaluation of rules in the rule set.

Relay
Type: RelayAction structure

This action relays the email to another SMTP server.

ReplaceRecipient
Type: ReplaceRecipientAction structure

The action replaces certain or all recipients with a different set of recipients.

Send
Type: SendAction structure

This action sends the email to the internet.

WriteToS3
Type: S3Action structure

This action writes the MIME content of the email to an S3 bucket.

RuleBooleanExpression

Description

A boolean expression to be used in a rule condition.

Members
Evaluate
Required: Yes
Type: RuleBooleanToEvaluate structure

The operand on which to perform a boolean condition operation.

Operator
Required: Yes
Type: string

The matching operator for a boolean condition expression.

RuleBooleanToEvaluate

Description

The union type representing the allowed types of operands for a boolean condition.

Members
Attribute
Type: string

The boolean type representing the allowed attribute types for an email.

RuleCondition

Description

The conditional expression used to evaluate an email for determining if a rule action should be taken.

Members
BooleanExpression
Type: RuleBooleanExpression structure

The condition applies to a boolean expression passed in this field.

DmarcExpression
Type: RuleDmarcExpression structure

The condition applies to a DMARC policy expression passed in this field.

IpExpression
Type: RuleIpExpression structure

The condition applies to an IP address expression passed in this field.

NumberExpression
Type: RuleNumberExpression structure

The condition applies to a number expression passed in this field.

StringExpression
Type: RuleStringExpression structure

The condition applies to a string expression passed in this field.

VerdictExpression
Type: RuleVerdictExpression structure

The condition applies to a verdict expression passed in this field.

RuleDmarcExpression

Description

A DMARC policy expression. The condition matches if the given DMARC policy matches that of the incoming email.

Members
Operator
Required: Yes
Type: string

The operator to apply to the DMARC policy of the incoming email.

Values
Required: Yes
Type: Array of strings

The values to use for the given DMARC policy operator. For the operator EQUALS, if multiple values are given, they are evaluated as an OR. That is, if any of the given values match, the condition is deemed to match. For the operator NOT_EQUALS, if multiple values are given, they are evaluated as an AND. That is, only if the email's DMARC policy is not equal to any of the given values, then the condition is deemed to match.

RuleIpExpression

Description

An IP address expression matching certain IP addresses within a given range of IP addresses.

Members
Evaluate
Required: Yes
Type: RuleIpToEvaluate structure

The IP address to evaluate in this condition.

Operator
Required: Yes
Type: string

The operator to evaluate the IP address.

Values
Required: Yes
Type: Array of strings

The IP CIDR blocks in format "x.y.z.w/n" (eg 10.0.0.0/8) to match with the email's IP address. For the operator CIDR_MATCHES, if multiple values are given, they are evaluated as an OR. That is, if the IP address is contained within any of the given CIDR ranges, the condition is deemed to match. For NOT_CIDR_MATCHES, if multiple CIDR ranges are given, the condition is deemed to match if the IP address is not contained in any of the given CIDR ranges.

RuleIpToEvaluate

Description

The IP address to evaluate for this condition.

Members
Attribute
Type: string

The attribute of the email to evaluate.

RuleNumberExpression

Description

A number expression to match numeric conditions with integers from the incoming email.

Members
Evaluate
Required: Yes
Type: RuleNumberToEvaluate structure

The number to evaluate in a numeric condition expression.

Operator
Required: Yes
Type: string

The operator for a numeric condition expression.

Value
Required: Yes
Type: double

The value to evaluate in a numeric condition expression.

RuleNumberToEvaluate

Description

The number to evaluate in a numeric condition expression.

Members
Attribute
Type: string

An email attribute that is used as the number to evaluate.

RuleSet

Description

A rule set contains a list of rules that are evaluated in order. Each rule is evaluated sequentially for each email.

Members
LastModificationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The last modification date of the rule set.

RuleSetId
Type: string

The identifier of the rule set.

RuleSetName
Type: string

A user-friendly name for the rule set.

RuleStringExpression

Description

A string expression is evaluated against strings or substrings of the email.

Members
Evaluate
Required: Yes
Type: RuleStringToEvaluate structure

The string to evaluate in a string condition expression.

Operator
Required: Yes
Type: string

The matching operator for a string condition expression.

Values
Required: Yes
Type: Array of strings

The string(s) to be evaluated in a string condition expression. For all operators, except for NOT_EQUALS, if multiple values are given, the values are processed as an OR. That is, if any of the values match the email's string using the given operator, the condition is deemed to match. However, for NOT_EQUALS, the condition is only deemed to match if none of the given strings match the email's string.

RuleStringToEvaluate

Description

The string to evaluate in a string condition expression.

Members
Attribute
Type: string

The email attribute to evaluate in a string condition expression.

MimeHeaderAttribute
Type: string

The email MIME X-Header attribute to evaluate in a string condition expression.

RuleVerdictExpression

Description

A verdict expression is evaluated against verdicts of the email.

Members
Evaluate
Required: Yes
Type: RuleVerdictToEvaluate structure

The verdict to evaluate in a verdict condition expression.

Operator
Required: Yes
Type: string

The matching operator for a verdict condition expression.

Values
Required: Yes
Type: Array of strings

The values to match with the email's verdict using the given operator. For the EQUALS operator, if multiple values are given, the condition is deemed to match if any of the given verdicts match that of the email. For the NOT_EQUALS operator, if multiple values are given, the condition is deemed to match of none of the given verdicts match the verdict of the email.

RuleVerdictToEvaluate

Description

The verdict to evaluate in a verdict condition expression.

Members
Analysis
Type: Analysis structure

The Add On ARN and its returned value to evaluate in a verdict condition expression.

Attribute
Type: string

The email verdict attribute to evaluate in a string verdict expression.

S3Action

Description

Writes the MIME content of the email to an S3 bucket.

Members
ActionFailurePolicy
Type: string

A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified the bucket has been deleted.

RoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the IAM Role to use while writing to S3. This role must have access to the s3:PutObject, kms:Encrypt, and kms:GenerateDataKey APIs for the given bucket.

S3Bucket
Required: Yes
Type: string

The bucket name of the S3 bucket to write to.

S3Prefix
Type: string

The S3 prefix to use for the write to the s3 bucket.

S3SseKmsKeyId
Type: string

The KMS Key ID to use to encrypt the message in S3.

S3ExportDestinationConfiguration

Description

The configuration for exporting email data to an Amazon S3 bucket.

Members
S3Location
Type: string

The S3 location to deliver the exported email data.

SearchStatus

Description

The current status of an archive search job.

Members
CompletionTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the search completed (if finished).

ErrorMessage
Type: string

An error message if the search failed.

State
Type: string

The current state of the search job.

SubmissionTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the search was submitted.

SearchSummary

Description

Summary details of an archive search job.

Members
SearchId
Type: string

The unique identifier of the search job.

Status
Type: SearchStatus structure

The current status of the search job.

SendAction

Description

Sends the email to the internet using the ses:SendRawEmail API.

Members
ActionFailurePolicy
Type: string

A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the caller does not have the permissions to call the sendRawEmail API.

RoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the role to use for this action. This role must have access to the ses:SendRawEmail API.

ServiceQuotaExceededException

Description

Occurs when an operation exceeds a predefined service quota or limit.

Members
Message
Type: string

Tag

Description

A key-value pair (the value is optional), that you can define and assign to Amazon Web Services resources.

Members
Key
Required: Yes
Type: string

The key of the key-value tag.

Value
Required: Yes
Type: string

The value of the key-value tag.

ThrottlingException

Description

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

Members
Message
Type: string

TrafficPolicy

Description

The structure of a traffic policy resource which is a container for policy statements.

Members
DefaultAction
Required: Yes
Type: string

Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements

TrafficPolicyId
Required: Yes
Type: string

The identifier of the traffic policy resource.

TrafficPolicyName
Required: Yes
Type: string

A user-friendly name of the traffic policy resource.

ValidationException

Description

The request validation has failed. For details, see the accompanying error message.

Members
Message
Type: string