/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.simpleemail; import org.w3c.dom.*; import java.net.*; import java.util.*; import javax.annotation.Generated; import org.apache.commons.logging.*; import com.amazonaws.*; import com.amazonaws.annotation.SdkInternalApi; import com.amazonaws.auth.*; import com.amazonaws.handlers.*; import com.amazonaws.http.*; import com.amazonaws.internal.*; import com.amazonaws.internal.auth.*; import com.amazonaws.metrics.*; import com.amazonaws.regions.*; import com.amazonaws.transform.*; import com.amazonaws.util.*; import com.amazonaws.protocol.json.*; import com.amazonaws.util.AWSRequestMetrics.Field; import com.amazonaws.annotation.ThreadSafe; import com.amazonaws.client.AwsSyncClientParams; import com.amazonaws.client.builder.AdvancedConfig; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder; import com.amazonaws.services.simpleemail.waiters.AmazonSimpleEmailServiceWaiters; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.simpleemail.model.*; import com.amazonaws.services.simpleemail.model.transform.*; /** * Client for accessing Amazon SES. All service calls made using this client are blocking, and will not return until the * service call completes. *
*
* This document contains reference information for the Amazon Simple Email * Service (Amazon SES) API, version 2010-12-01. This document is best used in conjunction with the Amazon SES Developer Guide. *
** For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide. *
** All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AmazonSimpleEmailServiceClientBuilder#defaultClient()} */ @Deprecated public AmazonSimpleEmailServiceClient() { this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon SES. A credentials provider chain will be used that * searches for credentials in this order: *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon SES (ex: proxy settings, * retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AmazonSimpleEmailServiceClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonSimpleEmailServiceClient(ClientConfiguration clientConfiguration) { this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration); } /** * Constructs a new client to invoke service methods on Amazon SES using the specified AWS account credentials. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @deprecated use {@link AmazonSimpleEmailServiceClientBuilder#withCredentials(AWSCredentialsProvider)} for * example: * {@code AmazonSimpleEmailServiceClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();} */ @Deprecated public AmazonSimpleEmailServiceClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon SES using the specified AWS account credentials and * client configuration options. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon SES (ex: proxy settings, * retry counts, etc.). * @deprecated use {@link AmazonSimpleEmailServiceClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonSimpleEmailServiceClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonSimpleEmailServiceClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); this.advancedConfig = AdvancedConfig.EMPTY; init(); } /** * Constructs a new client to invoke service methods on Amazon SES using the specified AWS account credentials * provider. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @deprecated use {@link AmazonSimpleEmailServiceClientBuilder#withCredentials(AWSCredentialsProvider)} */ @Deprecated public AmazonSimpleEmailServiceClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon SES using the specified AWS account credentials * provider and client configuration options. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon SES (ex: proxy settings, * retry counts, etc.). * @deprecated use {@link AmazonSimpleEmailServiceClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonSimpleEmailServiceClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonSimpleEmailServiceClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on Amazon SES using the specified AWS account credentials * provider, client configuration options, and request metric collector. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon SES (ex: proxy settings, * retry counts, etc.). * @param requestMetricCollector * optional request metric collector * @deprecated use {@link AmazonSimpleEmailServiceClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonSimpleEmailServiceClientBuilder#withClientConfiguration(ClientConfiguration)} and * {@link AmazonSimpleEmailServiceClientBuilder#withMetricsCollector(RequestMetricCollector)} */ @Deprecated public AmazonSimpleEmailServiceClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; this.advancedConfig = AdvancedConfig.EMPTY; init(); } public static AmazonSimpleEmailServiceClientBuilder builder() { return AmazonSimpleEmailServiceClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on Amazon SES using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonSimpleEmailServiceClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on Amazon SES using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonSimpleEmailServiceClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { if (exceptionUnmarshallersMap.get("InvalidFirehoseDestination") == null) { exceptionUnmarshallersMap.put("InvalidFirehoseDestination", new InvalidFirehoseDestinationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidFirehoseDestinationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidS3Configuration") == null) { exceptionUnmarshallersMap.put("InvalidS3Configuration", new InvalidS3ConfigurationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidS3ConfigurationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidDeliveryOptions") == null) { exceptionUnmarshallersMap.put("InvalidDeliveryOptions", new InvalidDeliveryOptionsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidDeliveryOptionsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidSNSDestination") == null) { exceptionUnmarshallersMap.put("InvalidSNSDestination", new InvalidSNSDestinationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidSNSDestinationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidRenderingParameter") == null) { exceptionUnmarshallersMap.put("InvalidRenderingParameter", new InvalidRenderingParameterExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidRenderingParameterExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("MessageRejected") == null) { exceptionUnmarshallersMap.put("MessageRejected", new MessageRejectedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new MessageRejectedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidCloudWatchDestination") == null) { exceptionUnmarshallersMap.put("InvalidCloudWatchDestination", new InvalidCloudWatchDestinationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidCloudWatchDestinationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("AccountSendingPausedException") == null) { exceptionUnmarshallersMap.put("AccountSendingPausedException", new AccountSendingPausedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new AccountSendingPausedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("RuleSetDoesNotExist") == null) { exceptionUnmarshallersMap.put("RuleSetDoesNotExist", new RuleSetDoesNotExistExceptionUnmarshaller()); } exceptionUnmarshallers.add(new RuleSetDoesNotExistExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidSnsTopic") == null) { exceptionUnmarshallersMap.put("InvalidSnsTopic", new InvalidSnsTopicExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidSnsTopicExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("LimitExceeded") == null) { exceptionUnmarshallersMap.put("LimitExceeded", new LimitExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new LimitExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ConfigurationSetSendingPausedException") == null) { exceptionUnmarshallersMap.put("ConfigurationSetSendingPausedException", new ConfigurationSetSendingPausedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ConfigurationSetSendingPausedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("EventDestinationDoesNotExist") == null) { exceptionUnmarshallersMap.put("EventDestinationDoesNotExist", new EventDestinationDoesNotExistExceptionUnmarshaller()); } exceptionUnmarshallers.add(new EventDestinationDoesNotExistExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidLambdaFunction") == null) { exceptionUnmarshallersMap.put("InvalidLambdaFunction", new InvalidLambdaFunctionExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidLambdaFunctionExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TemplateDoesNotExist") == null) { exceptionUnmarshallersMap.put("TemplateDoesNotExist", new TemplateDoesNotExistExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TemplateDoesNotExistExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("MissingRenderingAttribute") == null) { exceptionUnmarshallersMap.put("MissingRenderingAttribute", new MissingRenderingAttributeExceptionUnmarshaller()); } exceptionUnmarshallers.add(new MissingRenderingAttributeExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("AlreadyExists") == null) { exceptionUnmarshallersMap.put("AlreadyExists", new AlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new AlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CannotDelete") == null) { exceptionUnmarshallersMap.put("CannotDelete", new CannotDeleteExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CannotDeleteExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TrackingOptionsAlreadyExistsException") == null) { exceptionUnmarshallersMap.put("TrackingOptionsAlreadyExistsException", new TrackingOptionsAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TrackingOptionsAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ConfigurationSetAlreadyExists") == null) { exceptionUnmarshallersMap.put("ConfigurationSetAlreadyExists", new ConfigurationSetAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ConfigurationSetAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CustomVerificationEmailInvalidContent") == null) { exceptionUnmarshallersMap.put("CustomVerificationEmailInvalidContent", new CustomVerificationEmailInvalidContentExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CustomVerificationEmailInvalidContentExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidTemplate") == null) { exceptionUnmarshallersMap.put("InvalidTemplate", new InvalidTemplateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidTemplateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("MailFromDomainNotVerifiedException") == null) { exceptionUnmarshallersMap.put("MailFromDomainNotVerifiedException", new MailFromDomainNotVerifiedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new MailFromDomainNotVerifiedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ConfigurationSetDoesNotExist") == null) { exceptionUnmarshallersMap.put("ConfigurationSetDoesNotExist", new ConfigurationSetDoesNotExistExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ConfigurationSetDoesNotExistExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ProductionAccessNotGranted") == null) { exceptionUnmarshallersMap.put("ProductionAccessNotGranted", new ProductionAccessNotGrantedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ProductionAccessNotGrantedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidTrackingOptions") == null) { exceptionUnmarshallersMap.put("InvalidTrackingOptions", new InvalidTrackingOptionsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidTrackingOptionsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TrackingOptionsDoesNotExistException") == null) { exceptionUnmarshallersMap.put("TrackingOptionsDoesNotExistException", new TrackingOptionsDoesNotExistExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TrackingOptionsDoesNotExistExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("EventDestinationAlreadyExists") == null) { exceptionUnmarshallersMap.put("EventDestinationAlreadyExists", new EventDestinationAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new EventDestinationAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("FromEmailAddressNotVerified") == null) { exceptionUnmarshallersMap.put("FromEmailAddressNotVerified", new FromEmailAddressNotVerifiedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new FromEmailAddressNotVerifiedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("RuleDoesNotExist") == null) { exceptionUnmarshallersMap.put("RuleDoesNotExist", new RuleDoesNotExistExceptionUnmarshaller()); } exceptionUnmarshallers.add(new RuleDoesNotExistExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidConfigurationSet") == null) { exceptionUnmarshallersMap.put("InvalidConfigurationSet", new InvalidConfigurationSetExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidConfigurationSetExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CustomVerificationEmailTemplateDoesNotExist") == null) { exceptionUnmarshallersMap .put("CustomVerificationEmailTemplateDoesNotExist", new CustomVerificationEmailTemplateDoesNotExistExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CustomVerificationEmailTemplateDoesNotExistExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidPolicy") == null) { exceptionUnmarshallersMap.put("InvalidPolicy", new InvalidPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CustomVerificationEmailTemplateAlreadyExists") == null) { exceptionUnmarshallersMap.put("CustomVerificationEmailTemplateAlreadyExists", new CustomVerificationEmailTemplateAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CustomVerificationEmailTemplateAlreadyExistsExceptionUnmarshaller()); defaultUnmarshaller = new StandardErrorUnmarshaller(com.amazonaws.services.simpleemail.model.AmazonSimpleEmailServiceException.class); exceptionUnmarshallers.add(new StandardErrorUnmarshaller(com.amazonaws.services.simpleemail.model.AmazonSimpleEmailServiceException.class)); setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly this.setEndpoint("https://email.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/simpleemail/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/simpleemail/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *
* Creates a receipt rule set by cloning an existing one. All receipt rules and configurations are copied to the new * receipt rule set and are completely independent of the source rule set. *
** For information about setting up rule sets, see the Amazon SES * Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param cloneReceiptRuleSetRequest * Represents a request to create a receipt rule set by cloning an existing one. You use receipt rule sets to * receive email with Amazon SES. For more information, see the Amazon SES * Developer Guide. * @return Result of the CloneReceiptRuleSet operation returned by the service. * @throws RuleSetDoesNotExistException * Indicates that the provided receipt rule set does not exist. * @throws AlreadyExistsException * Indicates that a resource could not be created because of a naming conflict. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.CloneReceiptRuleSet * @see AWS API * Documentation */ @Override public CloneReceiptRuleSetResult cloneReceiptRuleSet(CloneReceiptRuleSetRequest request) { request = beforeClientExecution(request); return executeCloneReceiptRuleSet(request); } @SdkInternalApi final CloneReceiptRuleSetResult executeCloneReceiptRuleSet(CloneReceiptRuleSetRequest cloneReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(cloneReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Creates a configuration set. *
** Configuration sets enable you to publish email sending events. For information about using configuration sets, * see the Amazon SES * Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param createConfigurationSetRequest * Represents a request to create a configuration set. Configuration sets enable you to publish email sending * events. For information about using configuration sets, see the Amazon SES * Developer Guide. * @return Result of the CreateConfigurationSet operation returned by the service. * @throws ConfigurationSetAlreadyExistsException * Indicates that the configuration set could not be created because of a naming conflict. * @throws InvalidConfigurationSetException * Indicates that the configuration set is invalid. See the error message for details. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.CreateConfigurationSet * @see AWS * API Documentation */ @Override public CreateConfigurationSetResult createConfigurationSet(CreateConfigurationSetRequest request) { request = beforeClientExecution(request); return executeCreateConfigurationSet(request); } @SdkInternalApi final CreateConfigurationSetResult executeCreateConfigurationSet(CreateConfigurationSetRequest createConfigurationSetRequest) { ExecutionContext executionContext = createExecutionContext(createConfigurationSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Creates a configuration set event destination. *
** When you create or update an event destination, you must provide one, and only one, destination. The destination * can be CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). *
** An event destination is the AWS service to which Amazon SES publishes the email sending events associated with a * configuration set. For information about using configuration sets, see the Amazon SES Developer * Guide. *
** You can execute this operation no more than once per second. *
* * @param createConfigurationSetEventDestinationRequest * Represents a request to create a configuration set event destination. A configuration set event * destination, which can be either Amazon CloudWatch or Amazon Kinesis Firehose, describes an AWS service in * which Amazon SES publishes the email sending events associated with a configuration set. For information * about using configuration sets, see the Amazon SES * Developer Guide. * @return Result of the CreateConfigurationSetEventDestination operation returned by the service. * @throws ConfigurationSetDoesNotExistException * Indicates that the configuration set does not exist. * @throws EventDestinationAlreadyExistsException * Indicates that the event destination could not be created because of a naming conflict. * @throws InvalidCloudWatchDestinationException * Indicates that the Amazon CloudWatch destination is invalid. See the error message for details. * @throws InvalidFirehoseDestinationException * Indicates that the Amazon Kinesis Firehose destination is invalid. See the error message for details. * @throws InvalidSNSDestinationException * Indicates that the Amazon Simple Notification Service (Amazon SNS) destination is invalid. See the error * message for details. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.CreateConfigurationSetEventDestination * @see AWS API Documentation */ @Override public CreateConfigurationSetEventDestinationResult createConfigurationSetEventDestination(CreateConfigurationSetEventDestinationRequest request) { request = beforeClientExecution(request); return executeCreateConfigurationSetEventDestination(request); } @SdkInternalApi final CreateConfigurationSetEventDestinationResult executeCreateConfigurationSetEventDestination( CreateConfigurationSetEventDestinationRequest createConfigurationSetEventDestinationRequest) { ExecutionContext executionContext = createExecutionContext(createConfigurationSetEventDestinationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Creates an association between a configuration set and a custom domain for open and click event tracking. *
** By default, images and links used for tracking open and click events are hosted on domains operated by Amazon * SES. You can configure a subdomain of your own to handle these events. For information about using custom * domains, see the Amazon SES * Developer Guide. *
* * @param createConfigurationSetTrackingOptionsRequest * Represents a request to create an open and click tracking option object in a configuration set. * @return Result of the CreateConfigurationSetTrackingOptions operation returned by the service. * @throws ConfigurationSetDoesNotExistException * Indicates that the configuration set does not exist. * @throws TrackingOptionsAlreadyExistsException * Indicates that the configuration set you specified already contains a TrackingOptions object. * @throws InvalidTrackingOptionsException * Indicates that the custom domain to be used for open and click tracking redirects is invalid. This error * appears most often in the following situations: ** When the tracking domain you specified is not verified in Amazon SES. *
** When the tracking domain you specified is not a valid domain or subdomain. *
** Creates a new custom verification email template. *
** For more information about custom verification email templates, see Using Custom * Verification Email Templates in the Amazon SES Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param createCustomVerificationEmailTemplateRequest * Represents a request to create a custom verification email template. * @return Result of the CreateCustomVerificationEmailTemplate operation returned by the service. * @throws CustomVerificationEmailTemplateAlreadyExistsException * Indicates that a custom verification email template with the name you specified already exists. * @throws FromEmailAddressNotVerifiedException * Indicates that the sender address specified for a custom verification email is not verified, and is * therefore not eligible to send the custom verification email. * @throws CustomVerificationEmailInvalidContentException * Indicates that custom verification email template provided content is invalid. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.CreateCustomVerificationEmailTemplate * @see AWS API Documentation */ @Override public CreateCustomVerificationEmailTemplateResult createCustomVerificationEmailTemplate(CreateCustomVerificationEmailTemplateRequest request) { request = beforeClientExecution(request); return executeCreateCustomVerificationEmailTemplate(request); } @SdkInternalApi final CreateCustomVerificationEmailTemplateResult executeCreateCustomVerificationEmailTemplate( CreateCustomVerificationEmailTemplateRequest createCustomVerificationEmailTemplateRequest) { ExecutionContext executionContext = createExecutionContext(createCustomVerificationEmailTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Creates a new IP address filter. *
** For information about setting up IP address filters, see the Amazon SES Developer * Guide. *
** You can execute this operation no more than once per second. *
* * @param createReceiptFilterRequest * Represents a request to create a new IP address filter. You use IP address filters when you receive email * with Amazon SES. For more information, see the Amazon SES * Developer Guide. * @return Result of the CreateReceiptFilter operation returned by the service. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @throws AlreadyExistsException * Indicates that a resource could not be created because of a naming conflict. * @sample AmazonSimpleEmailService.CreateReceiptFilter * @see AWS API * Documentation */ @Override public CreateReceiptFilterResult createReceiptFilter(CreateReceiptFilterRequest request) { request = beforeClientExecution(request); return executeCreateReceiptFilter(request); } @SdkInternalApi final CreateReceiptFilterResult executeCreateReceiptFilter(CreateReceiptFilterRequest createReceiptFilterRequest) { ExecutionContext executionContext = createExecutionContext(createReceiptFilterRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Creates a receipt rule. *
** For information about setting up receipt rules, see the Amazon SES * Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param createReceiptRuleRequest * Represents a request to create a receipt rule. You use receipt rules to receive email with Amazon SES. For * more information, see the Amazon SES * Developer Guide. * @return Result of the CreateReceiptRule operation returned by the service. * @throws InvalidSnsTopicException * Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES could not publish to the * topic, possibly due to permissions issues. For information about giving permissions, see the Amazon SES * Developer Guide. * @throws InvalidS3ConfigurationException * Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is invalid, or that Amazon SES * could not publish to the bucket, possibly due to permissions issues. For information about giving * permissions, see the Amazon SES * Developer Guide. * @throws InvalidLambdaFunctionException * Indicates that the provided AWS Lambda function is invalid, or that Amazon SES could not execute the * provided function, possibly due to permissions issues. For information about giving permissions, see the * Amazon * SES Developer Guide. * @throws AlreadyExistsException * Indicates that a resource could not be created because of a naming conflict. * @throws RuleDoesNotExistException * Indicates that the provided receipt rule does not exist. * @throws RuleSetDoesNotExistException * Indicates that the provided receipt rule set does not exist. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.CreateReceiptRule * @see AWS API * Documentation */ @Override public CreateReceiptRuleResult createReceiptRule(CreateReceiptRuleRequest request) { request = beforeClientExecution(request); return executeCreateReceiptRule(request); } @SdkInternalApi final CreateReceiptRuleResult executeCreateReceiptRule(CreateReceiptRuleRequest createReceiptRuleRequest) { ExecutionContext executionContext = createExecutionContext(createReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Creates an empty receipt rule set. *
** For information about setting up receipt rule sets, see the Amazon SES * Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param createReceiptRuleSetRequest * Represents a request to create an empty receipt rule set. You use receipt rule sets to receive email with * Amazon SES. For more information, see the Amazon SES * Developer Guide. * @return Result of the CreateReceiptRuleSet operation returned by the service. * @throws AlreadyExistsException * Indicates that a resource could not be created because of a naming conflict. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.CreateReceiptRuleSet * @see AWS API * Documentation */ @Override public CreateReceiptRuleSetResult createReceiptRuleSet(CreateReceiptRuleSetRequest request) { request = beforeClientExecution(request); return executeCreateReceiptRuleSet(request); } @SdkInternalApi final CreateReceiptRuleSetResult executeCreateReceiptRuleSet(CreateReceiptRuleSetRequest createReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(createReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Creates an email template. Email templates enable you to send personalized email to one or more destinations in a * single API operation. For more information, see the Amazon SES * Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param createTemplateRequest * Represents a request to create an email template. For more information, see the Amazon SES * Developer Guide. * @return Result of the CreateTemplate operation returned by the service. * @throws AlreadyExistsException * Indicates that a resource could not be created because of a naming conflict. * @throws InvalidTemplateException * Indicates that the template that you specified could not be rendered. This issue may occur when a * template refers to a partial that does not exist. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.CreateTemplate * @see AWS API * Documentation */ @Override public CreateTemplateResult createTemplate(CreateTemplateRequest request) { request = beforeClientExecution(request); return executeCreateTemplate(request); } @SdkInternalApi final CreateTemplateResult executeCreateTemplate(CreateTemplateRequest createTemplateRequest) { ExecutionContext executionContext = createExecutionContext(createTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes a configuration set. Configuration sets enable you to publish email sending events. For information about * using configuration sets, see the Amazon SES Developer * Guide. *
** You can execute this operation no more than once per second. *
* * @param deleteConfigurationSetRequest * Represents a request to delete a configuration set. Configuration sets enable you to publish email sending * events. For information about using configuration sets, see the Amazon SES * Developer Guide. * @return Result of the DeleteConfigurationSet operation returned by the service. * @throws ConfigurationSetDoesNotExistException * Indicates that the configuration set does not exist. * @sample AmazonSimpleEmailService.DeleteConfigurationSet * @see AWS * API Documentation */ @Override public DeleteConfigurationSetResult deleteConfigurationSet(DeleteConfigurationSetRequest request) { request = beforeClientExecution(request); return executeDeleteConfigurationSet(request); } @SdkInternalApi final DeleteConfigurationSetResult executeDeleteConfigurationSet(DeleteConfigurationSetRequest deleteConfigurationSetRequest) { ExecutionContext executionContext = createExecutionContext(deleteConfigurationSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes a configuration set event destination. Configuration set event destinations are associated with * configuration sets, which enable you to publish email sending events. For information about using configuration * sets, see the Amazon SES Developer * Guide. *
** You can execute this operation no more than once per second. *
* * @param deleteConfigurationSetEventDestinationRequest * Represents a request to delete a configuration set event destination. Configuration set event destinations * are associated with configuration sets, which enable you to publish email sending events. For information * about using configuration sets, see the Amazon SES * Developer Guide. * @return Result of the DeleteConfigurationSetEventDestination operation returned by the service. * @throws ConfigurationSetDoesNotExistException * Indicates that the configuration set does not exist. * @throws EventDestinationDoesNotExistException * Indicates that the event destination does not exist. * @sample AmazonSimpleEmailService.DeleteConfigurationSetEventDestination * @see AWS API Documentation */ @Override public DeleteConfigurationSetEventDestinationResult deleteConfigurationSetEventDestination(DeleteConfigurationSetEventDestinationRequest request) { request = beforeClientExecution(request); return executeDeleteConfigurationSetEventDestination(request); } @SdkInternalApi final DeleteConfigurationSetEventDestinationResult executeDeleteConfigurationSetEventDestination( DeleteConfigurationSetEventDestinationRequest deleteConfigurationSetEventDestinationRequest) { ExecutionContext executionContext = createExecutionContext(deleteConfigurationSetEventDestinationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes an association between a configuration set and a custom domain for open and click event tracking. *
** By default, images and links used for tracking open and click events are hosted on domains operated by Amazon * SES. You can configure a subdomain of your own to handle these events. For information about using custom * domains, see the Amazon SES * Developer Guide. *
** Deleting this kind of association will result in emails sent using the specified configuration set to capture * open and click events using the standard, Amazon SES-operated domains. *
** Deletes an existing custom verification email template. *
** For more information about custom verification email templates, see Using Custom * Verification Email Templates in the Amazon SES Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param deleteCustomVerificationEmailTemplateRequest * Represents a request to delete an existing custom verification email template. * @return Result of the DeleteCustomVerificationEmailTemplate operation returned by the service. * @sample AmazonSimpleEmailService.DeleteCustomVerificationEmailTemplate * @see AWS API Documentation */ @Override public DeleteCustomVerificationEmailTemplateResult deleteCustomVerificationEmailTemplate(DeleteCustomVerificationEmailTemplateRequest request) { request = beforeClientExecution(request); return executeDeleteCustomVerificationEmailTemplate(request); } @SdkInternalApi final DeleteCustomVerificationEmailTemplateResult executeDeleteCustomVerificationEmailTemplate( DeleteCustomVerificationEmailTemplateRequest deleteCustomVerificationEmailTemplateRequest) { ExecutionContext executionContext = createExecutionContext(deleteCustomVerificationEmailTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes the specified identity (an email address or a domain) from the list of verified identities. *
** You can execute this operation no more than once per second. *
* * @param deleteIdentityRequest * Represents a request to delete one of your Amazon SES identities (an email address or domain). * @return Result of the DeleteIdentity operation returned by the service. * @sample AmazonSimpleEmailService.DeleteIdentity * @see AWS API * Documentation */ @Override public DeleteIdentityResult deleteIdentity(DeleteIdentityRequest request) { request = beforeClientExecution(request); return executeDeleteIdentity(request); } @SdkInternalApi final DeleteIdentityResult executeDeleteIdentity(DeleteIdentityRequest deleteIdentityRequest) { ExecutionContext executionContext = createExecutionContext(deleteIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes the specified sending authorization policy for the given identity (an email address or a domain). This * API returns successfully even if a policy with the specified name does not exist. *
** This API is for the identity owner only. If you have not verified the identity, this API will return an error. *
** Sending authorization is a feature that enables an identity owner to authorize other senders to use its * identities. For information about using sending authorization, see the Amazon SES Developer * Guide. *
** You can execute this operation no more than once per second. *
* * @param deleteIdentityPolicyRequest * Represents a request to delete a sending authorization policy for an identity. Sending authorization is an * Amazon SES feature that enables you to authorize other senders to use your identities. For information, * see the Amazon * SES Developer Guide. * @return Result of the DeleteIdentityPolicy operation returned by the service. * @sample AmazonSimpleEmailService.DeleteIdentityPolicy * @see AWS API * Documentation */ @Override public DeleteIdentityPolicyResult deleteIdentityPolicy(DeleteIdentityPolicyRequest request) { request = beforeClientExecution(request); return executeDeleteIdentityPolicy(request); } @SdkInternalApi final DeleteIdentityPolicyResult executeDeleteIdentityPolicy(DeleteIdentityPolicyRequest deleteIdentityPolicyRequest) { ExecutionContext executionContext = createExecutionContext(deleteIdentityPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes the specified IP address filter. *
** For information about managing IP address filters, see the Amazon SES * Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param deleteReceiptFilterRequest * Represents a request to delete an IP address filter. You use IP address filters when you receive email * with Amazon SES. For more information, see the Amazon SES * Developer Guide. * @return Result of the DeleteReceiptFilter operation returned by the service. * @sample AmazonSimpleEmailService.DeleteReceiptFilter * @see AWS API * Documentation */ @Override public DeleteReceiptFilterResult deleteReceiptFilter(DeleteReceiptFilterRequest request) { request = beforeClientExecution(request); return executeDeleteReceiptFilter(request); } @SdkInternalApi final DeleteReceiptFilterResult executeDeleteReceiptFilter(DeleteReceiptFilterRequest deleteReceiptFilterRequest) { ExecutionContext executionContext = createExecutionContext(deleteReceiptFilterRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes the specified receipt rule. *
** For information about managing receipt rules, see the Amazon * SES Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param deleteReceiptRuleRequest * Represents a request to delete a receipt rule. You use receipt rules to receive email with Amazon SES. For * more information, see the Amazon SES * Developer Guide. * @return Result of the DeleteReceiptRule operation returned by the service. * @throws RuleSetDoesNotExistException * Indicates that the provided receipt rule set does not exist. * @sample AmazonSimpleEmailService.DeleteReceiptRule * @see AWS API * Documentation */ @Override public DeleteReceiptRuleResult deleteReceiptRule(DeleteReceiptRuleRequest request) { request = beforeClientExecution(request); return executeDeleteReceiptRule(request); } @SdkInternalApi final DeleteReceiptRuleResult executeDeleteReceiptRule(DeleteReceiptRuleRequest deleteReceiptRuleRequest) { ExecutionContext executionContext = createExecutionContext(deleteReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes the specified receipt rule set and all of the receipt rules it contains. *
** The currently active rule set cannot be deleted. *
** For information about managing receipt rule sets, see the Amazon SES Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param deleteReceiptRuleSetRequest * Represents a request to delete a receipt rule set and all of the receipt rules it contains. You use * receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES * Developer Guide. * @return Result of the DeleteReceiptRuleSet operation returned by the service. * @throws CannotDeleteException * Indicates that the delete operation could not be completed. * @sample AmazonSimpleEmailService.DeleteReceiptRuleSet * @see AWS API * Documentation */ @Override public DeleteReceiptRuleSetResult deleteReceiptRuleSet(DeleteReceiptRuleSetRequest request) { request = beforeClientExecution(request); return executeDeleteReceiptRuleSet(request); } @SdkInternalApi final DeleteReceiptRuleSetResult executeDeleteReceiptRuleSet(DeleteReceiptRuleSetRequest deleteReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(deleteReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes an email template. *
** You can execute this operation no more than once per second. *
* * @param deleteTemplateRequest * Represents a request to delete an email template. For more information, see the Amazon SES * Developer Guide. * @return Result of the DeleteTemplate operation returned by the service. * @sample AmazonSimpleEmailService.DeleteTemplate * @see AWS API * Documentation */ @Override public DeleteTemplateResult deleteTemplate(DeleteTemplateRequest request) { request = beforeClientExecution(request); return executeDeleteTemplate(request); } @SdkInternalApi final DeleteTemplateResult executeDeleteTemplate(DeleteTemplateRequest deleteTemplateRequest) { ExecutionContext executionContext = createExecutionContext(deleteTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* Deprecated. Use the DeleteIdentity
operation to delete email addresses and domains.
*
* Returns the metadata and receipt rules for the receipt rule set that is currently active. *
** For information about setting up receipt rule sets, see the Amazon SES * Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param describeActiveReceiptRuleSetRequest * Represents a request to return the metadata and receipt rules for the receipt rule set that is currently * active. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES * Developer Guide. * @return Result of the DescribeActiveReceiptRuleSet operation returned by the service. * @sample AmazonSimpleEmailService.DescribeActiveReceiptRuleSet * @see AWS API Documentation */ @Override public DescribeActiveReceiptRuleSetResult describeActiveReceiptRuleSet(DescribeActiveReceiptRuleSetRequest request) { request = beforeClientExecution(request); return executeDescribeActiveReceiptRuleSet(request); } @SdkInternalApi final DescribeActiveReceiptRuleSetResult executeDescribeActiveReceiptRuleSet(DescribeActiveReceiptRuleSetRequest describeActiveReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(describeActiveReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns the details of the specified configuration set. For information about using configuration sets, see the * Amazon SES * Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param describeConfigurationSetRequest * Represents a request to return the details of a configuration set. Configuration sets enable you to * publish email sending events. For information about using configuration sets, see the Amazon SES * Developer Guide. * @return Result of the DescribeConfigurationSet operation returned by the service. * @throws ConfigurationSetDoesNotExistException * Indicates that the configuration set does not exist. * @sample AmazonSimpleEmailService.DescribeConfigurationSet * @see AWS * API Documentation */ @Override public DescribeConfigurationSetResult describeConfigurationSet(DescribeConfigurationSetRequest request) { request = beforeClientExecution(request); return executeDescribeConfigurationSet(request); } @SdkInternalApi final DescribeConfigurationSetResult executeDescribeConfigurationSet(DescribeConfigurationSetRequest describeConfigurationSetRequest) { ExecutionContext executionContext = createExecutionContext(describeConfigurationSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns the details of the specified receipt rule. *
** For information about setting up receipt rules, see the Amazon SES * Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param describeReceiptRuleRequest * Represents a request to return the details of a receipt rule. You use receipt rules to receive email with * Amazon SES. For more information, see the Amazon SES * Developer Guide. * @return Result of the DescribeReceiptRule operation returned by the service. * @throws RuleDoesNotExistException * Indicates that the provided receipt rule does not exist. * @throws RuleSetDoesNotExistException * Indicates that the provided receipt rule set does not exist. * @sample AmazonSimpleEmailService.DescribeReceiptRule * @see AWS API * Documentation */ @Override public DescribeReceiptRuleResult describeReceiptRule(DescribeReceiptRuleRequest request) { request = beforeClientExecution(request); return executeDescribeReceiptRule(request); } @SdkInternalApi final DescribeReceiptRuleResult executeDescribeReceiptRule(DescribeReceiptRuleRequest describeReceiptRuleRequest) { ExecutionContext executionContext = createExecutionContext(describeReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns the details of the specified receipt rule set. *
** For information about managing receipt rule sets, see the Amazon SES Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param describeReceiptRuleSetRequest * Represents a request to return the details of a receipt rule set. You use receipt rule sets to receive * email with Amazon SES. For more information, see the Amazon SES * Developer Guide. * @return Result of the DescribeReceiptRuleSet operation returned by the service. * @throws RuleSetDoesNotExistException * Indicates that the provided receipt rule set does not exist. * @sample AmazonSimpleEmailService.DescribeReceiptRuleSet * @see AWS * API Documentation */ @Override public DescribeReceiptRuleSetResult describeReceiptRuleSet(DescribeReceiptRuleSetRequest request) { request = beforeClientExecution(request); return executeDescribeReceiptRuleSet(request); } @SdkInternalApi final DescribeReceiptRuleSetResult executeDescribeReceiptRuleSet(DescribeReceiptRuleSetRequest describeReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(describeReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns the email sending status of the Amazon SES account for the current region. *
** You can execute this operation no more than once per second. *
* * @param getAccountSendingEnabledRequest * @return Result of the GetAccountSendingEnabled operation returned by the service. * @sample AmazonSimpleEmailService.GetAccountSendingEnabled * @see AWS * API Documentation */ @Override public GetAccountSendingEnabledResult getAccountSendingEnabled(GetAccountSendingEnabledRequest request) { request = beforeClientExecution(request); return executeGetAccountSendingEnabled(request); } @SdkInternalApi final GetAccountSendingEnabledResult executeGetAccountSendingEnabled(GetAccountSendingEnabledRequest getAccountSendingEnabledRequest) { ExecutionContext executionContext = createExecutionContext(getAccountSendingEnabledRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns the custom email verification template for the template name you specify. *
** For more information about custom verification email templates, see Using Custom * Verification Email Templates in the Amazon SES Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param getCustomVerificationEmailTemplateRequest * Represents a request to retrieve an existing custom verification email template. * @return Result of the GetCustomVerificationEmailTemplate operation returned by the service. * @throws CustomVerificationEmailTemplateDoesNotExistException * Indicates that a custom verification email template with the name you specified does not exist. * @sample AmazonSimpleEmailService.GetCustomVerificationEmailTemplate * @see AWS API Documentation */ @Override public GetCustomVerificationEmailTemplateResult getCustomVerificationEmailTemplate(GetCustomVerificationEmailTemplateRequest request) { request = beforeClientExecution(request); return executeGetCustomVerificationEmailTemplate(request); } @SdkInternalApi final GetCustomVerificationEmailTemplateResult executeGetCustomVerificationEmailTemplate( GetCustomVerificationEmailTemplateRequest getCustomVerificationEmailTemplateRequest) { ExecutionContext executionContext = createExecutionContext(getCustomVerificationEmailTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns the current status of Easy DKIM signing for an entity. For domain name identities, this operation also * returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES has successfully verified * that these tokens have been published. *
** This operation takes a list of identities as input and returns the following information for each: *
** Whether Easy DKIM signing is enabled or disabled. *
** A set of DKIM tokens that represent the identity. If the identity is an email address, the tokens represent the * domain of that address. *
** Whether Amazon SES has successfully verified the DKIM tokens published in the domain's DNS. This information is * only returned for domain name identities, not for email addresses. *
** This operation is throttled at one request per second and can only get DKIM attributes for up to 100 identities * at a time. *
** For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer * Guide. *
* * @param getIdentityDkimAttributesRequest * Represents a request for the status of Amazon SES Easy DKIM signing for an identity. For domain * identities, this request also returns the DKIM tokens that are required for Easy DKIM signing, and whether * Amazon SES successfully verified that these tokens were published. For more information about Easy DKIM, * see the Amazon SES * Developer Guide. * @return Result of the GetIdentityDkimAttributes operation returned by the service. * @sample AmazonSimpleEmailService.GetIdentityDkimAttributes * @see AWS API Documentation */ @Override public GetIdentityDkimAttributesResult getIdentityDkimAttributes(GetIdentityDkimAttributesRequest request) { request = beforeClientExecution(request); return executeGetIdentityDkimAttributes(request); } @SdkInternalApi final GetIdentityDkimAttributesResult executeGetIdentityDkimAttributes(GetIdentityDkimAttributesRequest getIdentityDkimAttributesRequest) { ExecutionContext executionContext = createExecutionContext(getIdentityDkimAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns the custom MAIL FROM attributes for a list of identities (email addresses : domains). *
** This operation is throttled at one request per second and can only get custom MAIL FROM attributes for up to 100 * identities at a time. *
* * @param getIdentityMailFromDomainAttributesRequest * Represents a request to return the Amazon SES custom MAIL FROM attributes for a list of identities. For * information about using a custom MAIL FROM domain, see the Amazon SES Developer * Guide. * @return Result of the GetIdentityMailFromDomainAttributes operation returned by the service. * @sample AmazonSimpleEmailService.GetIdentityMailFromDomainAttributes * @see AWS API Documentation */ @Override public GetIdentityMailFromDomainAttributesResult getIdentityMailFromDomainAttributes(GetIdentityMailFromDomainAttributesRequest request) { request = beforeClientExecution(request); return executeGetIdentityMailFromDomainAttributes(request); } @SdkInternalApi final GetIdentityMailFromDomainAttributesResult executeGetIdentityMailFromDomainAttributes( GetIdentityMailFromDomainAttributesRequest getIdentityMailFromDomainAttributesRequest) { ExecutionContext executionContext = createExecutionContext(getIdentityMailFromDomainAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Given a list of verified identities (email addresses and/or domains), returns a structure describing identity * notification attributes. *
** This operation is throttled at one request per second and can only get notification attributes for up to 100 * identities at a time. *
** For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide. *
* * @param getIdentityNotificationAttributesRequest * Represents a request to return the notification attributes for a list of identities you verified with * Amazon SES. For information about Amazon SES notifications, see the Amazon SES Developer * Guide. * @return Result of the GetIdentityNotificationAttributes operation returned by the service. * @sample AmazonSimpleEmailService.GetIdentityNotificationAttributes * @see AWS API Documentation */ @Override public GetIdentityNotificationAttributesResult getIdentityNotificationAttributes(GetIdentityNotificationAttributesRequest request) { request = beforeClientExecution(request); return executeGetIdentityNotificationAttributes(request); } @SdkInternalApi final GetIdentityNotificationAttributesResult executeGetIdentityNotificationAttributes( GetIdentityNotificationAttributesRequest getIdentityNotificationAttributesRequest) { ExecutionContext executionContext = createExecutionContext(getIdentityNotificationAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns the requested sending authorization policies for the given identity (an email address or a domain). The * policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a * time. *
** This API is for the identity owner only. If you have not verified the identity, this API will return an error. *
** Sending authorization is a feature that enables an identity owner to authorize other senders to use its * identities. For information about using sending authorization, see the Amazon SES Developer * Guide. *
** You can execute this operation no more than once per second. *
* * @param getIdentityPoliciesRequest * Represents a request to return the requested sending authorization policies for an identity. Sending * authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. * For information, see the Amazon SES * Developer Guide. * @return Result of the GetIdentityPolicies operation returned by the service. * @sample AmazonSimpleEmailService.GetIdentityPolicies * @see AWS API * Documentation */ @Override public GetIdentityPoliciesResult getIdentityPolicies(GetIdentityPoliciesRequest request) { request = beforeClientExecution(request); return executeGetIdentityPolicies(request); } @SdkInternalApi final GetIdentityPoliciesResult executeGetIdentityPolicies(GetIdentityPoliciesRequest getIdentityPoliciesRequest) { ExecutionContext executionContext = createExecutionContext(getIdentityPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Given a list of identities (email addresses and/or domains), returns the verification status and (for domain * identities) the verification token for each identity. *
** The verification status of an email address is "Pending" until the email address owner clicks the link within the * verification email that Amazon SES sent to that address. If the email address owner clicks the link within 24 * hours, the verification status of the email address changes to "Success". If the link is not clicked within 24 * hours, the verification status changes to "Failed." In that case, if you still want to verify the email address, * you must restart the verification process from the beginning. *
** For domain identities, the domain's verification status is "Pending" as Amazon SES searches for the required TXT * record in the DNS settings of the domain. When Amazon SES detects the record, the domain's verification status * changes to "Success". If Amazon SES is unable to detect the record within 72 hours, the domain's verification * status changes to "Failed." In that case, if you still want to verify the domain, you must restart the * verification process from the beginning. *
** This operation is throttled at one request per second and can only get verification attributes for up to 100 * identities at a time. *
* * @param getIdentityVerificationAttributesRequest * Represents a request to return the Amazon SES verification status of a list of identities. For domain * identities, this request also returns the verification token. For information about verifying identities * with Amazon SES, see the Amazon SES * Developer Guide. * @return Result of the GetIdentityVerificationAttributes operation returned by the service. * @sample AmazonSimpleEmailService.GetIdentityVerificationAttributes * @see AWS API Documentation */ @Override public GetIdentityVerificationAttributesResult getIdentityVerificationAttributes(GetIdentityVerificationAttributesRequest request) { request = beforeClientExecution(request); return executeGetIdentityVerificationAttributes(request); } @SdkInternalApi final GetIdentityVerificationAttributesResult executeGetIdentityVerificationAttributes( GetIdentityVerificationAttributesRequest getIdentityVerificationAttributesRequest) { ExecutionContext executionContext = createExecutionContext(getIdentityVerificationAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Provides the sending limits for the Amazon SES account. *
** You can execute this operation no more than once per second. *
* * @param getSendQuotaRequest * @return Result of the GetSendQuota operation returned by the service. * @sample AmazonSimpleEmailService.GetSendQuota * @see AWS API * Documentation */ @Override public GetSendQuotaResult getSendQuota(GetSendQuotaRequest request) { request = beforeClientExecution(request); return executeGetSendQuota(request); } @SdkInternalApi final GetSendQuotaResult executeGetSendQuota(GetSendQuotaRequest getSendQuotaRequest) { ExecutionContext executionContext = createExecutionContext(getSendQuotaRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Provides sending statistics for the current AWS Region. The result is a list of data points, representing the * last two weeks of sending activity. Each data point in the list contains statistics for a 15-minute period of * time. *
** You can execute this operation no more than once per second. *
* * @param getSendStatisticsRequest * @return Result of the GetSendStatistics operation returned by the service. * @sample AmazonSimpleEmailService.GetSendStatistics * @see AWS API * Documentation */ @Override public GetSendStatisticsResult getSendStatistics(GetSendStatisticsRequest request) { request = beforeClientExecution(request); return executeGetSendStatistics(request); } @SdkInternalApi final GetSendStatisticsResult executeGetSendStatistics(GetSendStatisticsRequest getSendStatisticsRequest) { ExecutionContext executionContext = createExecutionContext(getSendStatisticsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Displays the template object (which includes the Subject line, HTML part and text part) for the template you * specify. *
** You can execute this operation no more than once per second. *
* * @param getTemplateRequest * @return Result of the GetTemplate operation returned by the service. * @throws TemplateDoesNotExistException * Indicates that the Template object you specified does not exist in your Amazon SES account. * @sample AmazonSimpleEmailService.GetTemplate * @see AWS API * Documentation */ @Override public GetTemplateResult getTemplate(GetTemplateRequest request) { request = beforeClientExecution(request); return executeGetTemplate(request); } @SdkInternalApi final GetTemplateResult executeGetTemplate(GetTemplateRequest getTemplateRequest) { ExecutionContext executionContext = createExecutionContext(getTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Provides a list of the configuration sets associated with your Amazon SES account in the current AWS Region. For * information about using configuration sets, see Monitoring Your Amazon * SES Sending Activity in the Amazon SES Developer Guide. *
*
* You can execute this operation no more than once per second. This operation will return up to 1,000 configuration
* sets each time it is run. If your Amazon SES account has more than 1,000 configuration sets, this operation will
* also return a NextToken element. You can then execute the ListConfigurationSets
operation again,
* passing the NextToken
parameter and the value of the NextToken element to retrieve additional
* results.
*
* Lists the existing custom verification email templates for your account in the current AWS Region. *
** For more information about custom verification email templates, see Using Custom * Verification Email Templates in the Amazon SES Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param listCustomVerificationEmailTemplatesRequest * Represents a request to list the existing custom verification email templates for your account. *
* For more information about custom verification email templates, see Using Custom
* Verification Email Templates in the Amazon SES Developer Guide.
* @return Result of the ListCustomVerificationEmailTemplates operation returned by the service.
* @sample AmazonSimpleEmailService.ListCustomVerificationEmailTemplates
* @see AWS API Documentation
*/
@Override
public ListCustomVerificationEmailTemplatesResult listCustomVerificationEmailTemplates(ListCustomVerificationEmailTemplatesRequest request) {
request = beforeClientExecution(request);
return executeListCustomVerificationEmailTemplates(request);
}
@SdkInternalApi
final ListCustomVerificationEmailTemplatesResult executeListCustomVerificationEmailTemplates(
ListCustomVerificationEmailTemplatesRequest listCustomVerificationEmailTemplatesRequest) {
ExecutionContext executionContext = createExecutionContext(listCustomVerificationEmailTemplatesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Returns a list containing all of the identities (email addresses and domains) for your AWS account in the current
* AWS Region, regardless of verification status.
*
* You can execute this operation no more than once per second.
*
* Returns a list of sending authorization policies that are attached to the given identity (an email address or a
* domain). This API returns only a list. If you want the actual policy content, you can use
*
* This API is for the identity owner only. If you have not verified the identity, this API will return an error.
*
* Sending authorization is a feature that enables an identity owner to authorize other senders to use its
* identities. For information about using sending authorization, see the Amazon SES Developer
* Guide.
*
* You can execute this operation no more than once per second.
*
* Lists the IP address filters associated with your AWS account in the current AWS Region.
*
* For information about managing IP address filters, see the Amazon SES
* Developer Guide.
*
* You can execute this operation no more than once per second.
*
* Lists the receipt rule sets that exist under your AWS account in the current AWS Region. If there are additional
* receipt rule sets to be retrieved, you will receive a
* For information about managing receipt rule sets, see the Amazon SES Developer Guide.
*
* You can execute this operation no more than once per second.
*
* Lists the email templates present in your Amazon SES account in the current AWS Region.
*
* You can execute this operation no more than once per second.
*
* Deprecated. Use the
* Adds or updates the delivery options for a configuration set.
*
* Adds or updates a sending authorization policy for the specified identity (an email address or a domain).
*
* This API is for the identity owner only. If you have not verified the identity, this API will return an error.
*
* Sending authorization is a feature that enables an identity owner to authorize other senders to use its
* identities. For information about using sending authorization, see the Amazon SES Developer
* Guide.
*
* You can execute this operation no more than once per second.
*
* Reorders the receipt rules within a receipt rule set.
*
* All of the rules in the rule set must be represented in this request. That is, this API will return an error if
* the reorder request doesn't explicitly position all of the rules.
*
* For information about managing receipt rule sets, see the Amazon SES Developer Guide.
*
* You can execute this operation no more than once per second.
*
* Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use
* this API on an email up to 24 hours after you receive it.
*
* You cannot use this API to send generic bounces for mail that was not received by Amazon SES.
*
* For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.
*
* You can execute this operation no more than once per second.
*
* Composes an email message to multiple destinations. The message body is created using an email template.
*
* In order to send email using the
* The call must refer to an existing email template. You can create email templates using the CreateTemplate
* operation.
*
* The message must be sent from a verified email address or domain.
*
* If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to
* email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email
* Addresses and Domains in the Amazon SES Developer Guide.
*
* The maximum message size is 10 MB.
*
* Each
* The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an
* email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call
* the
* The number of destinations you can contact in a single call to the API may be limited by your account's maximum
* sending rate.
* GetIdentityPolicies
.
* NextToken
that you can provide to the next
* call to ListReceiptRuleSets
to retrieve the additional entries.
* ListIdentities
operation to list the email addresses and domains associated with
* your account.
* SendBulkTemplatedEmail
operation, your call to the API must meet
* the following requirements:
*
*
*
* @param sendBulkTemplatedEmailRequest
* Represents a request to send a templated email to multiple destinations using Amazon SES. For more
* information, see the Amazon SES
* Developer Guide.
* @return Result of the SendBulkTemplatedEmail operation returned by the service.
* @throws MessageRejectedException
* Indicates that the action failed, and the message could not be sent. Check the error stack for more
* information about what caused the error.
* @throws MailFromDomainNotVerifiedException
* Indicates that the message could not be sent because Amazon SES could not read the MX record required to
* use the specified MAIL FROM domain. For information about editing the custom MAIL FROM domain settings
* for an identity, see the Amazon SES Developer
* Guide.
* @throws ConfigurationSetDoesNotExistException
* Indicates that the configuration set does not exist.
* @throws TemplateDoesNotExistException
* Indicates that the Template object you specified does not exist in your Amazon SES account.
* @throws ConfigurationSetSendingPausedException
* Indicates that email sending is disabled for the configuration set.Destination
parameter must include at least one recipient email address. The recipient address
* can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is
* not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even
* if the message contains other recipients that are valid.
* SendBulkTemplatedEmail
operation several times to send the message to each group.
*
* You can enable or disable email sending for a configuration set using * UpdateConfigurationSetSendingEnabled. * @throws AccountSendingPausedException * Indicates that email sending is disabled for your entire Amazon SES account. *
*
* You can enable or disable email sending for your Amazon SES account using
* UpdateAccountSendingEnabled.
* @sample AmazonSimpleEmailService.SendBulkTemplatedEmail
* @see AWS
* API Documentation
*/
@Override
public SendBulkTemplatedEmailResult sendBulkTemplatedEmail(SendBulkTemplatedEmailRequest request) {
request = beforeClientExecution(request);
return executeSendBulkTemplatedEmail(request);
}
@SdkInternalApi
final SendBulkTemplatedEmailResult executeSendBulkTemplatedEmail(SendBulkTemplatedEmailRequest sendBulkTemplatedEmailRequest) {
ExecutionContext executionContext = createExecutionContext(sendBulkTemplatedEmailRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Adds an email address to the list of identities for your Amazon SES account in the current AWS Region and
* attempts to verify it. As a result of executing this operation, a customized verification email is sent to the
* specified address.
*
* To use this operation, you must first create a custom verification email template. For more information about
* creating and using custom verification email templates, see Using Custom
* Verification Email Templates in the Amazon SES Developer Guide.
*
* You can execute this operation no more than once per second.
*
* Composes an email message and immediately queues it for sending. In order to send email using the
*
* The message must be sent from a verified email address or domain. If you attempt to send email using a
* non-verified address or domain, the operation will result in an "Email address not verified" error.
*
* If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to
* email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email
* Addresses and Domains in the Amazon SES Developer Guide.
*
* The maximum message size is 10 MB.
*
* The message must include at least one recipient email address. The recipient address can be a To: address, a CC:
* address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format
* UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message
* contains other recipients that are valid.
*
* The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an
* email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call
* the
* For every message that you send, the total number of recipients (including each recipient in the To:, CC: and
* BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending
* quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES
* Sending Limits in the Amazon SES Developer Guide.
* SendEmail
operation, your message must meet the following requirements:
*
*
* SendEmail
operation several times to send the message to each group.
*
* You can enable or disable email sending for a configuration set using * UpdateConfigurationSetSendingEnabled. * @throws AccountSendingPausedException * Indicates that email sending is disabled for your entire Amazon SES account. *
*
* You can enable or disable email sending for your Amazon SES account using
* UpdateAccountSendingEnabled.
* @sample AmazonSimpleEmailService.SendEmail
* @see AWS API
* Documentation
*/
@Override
public SendEmailResult sendEmail(SendEmailRequest request) {
request = beforeClientExecution(request);
return executeSendEmail(request);
}
@SdkInternalApi
final SendEmailResult executeSendEmail(SendEmailRequest sendEmailRequest) {
ExecutionContext executionContext = createExecutionContext(sendEmailRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Composes an email message and immediately queues it for sending.
*
* This operation is more flexible than the
* The
* You can only send email from verified email
* addresses or domains. If you try to send email from an address that isn't verified, the operation results in
* an "Email address not verified" error.
*
* If your account is still in the Amazon SES
* sandbox, you can only send email to other verified addresses in your account, or to addresses that are
* associated with the Amazon
* SES mailbox simulator.
*
* The maximum message size, including attachments, is 10 MB.
*
* Each message has to include at least one recipient address. A recipient address includes any address on the To:,
* CC:, or BCC: lines.
*
* If you send a single message to more than one recipient address, and one of the recipient addresses isn't in a
* valid format (that is, it's not in the format UserName@[SubDomain.]Domain.TopLevelDomain), Amazon SES
* rejects the entire message, even if the other addresses are valid.
*
* Each message can include up to 50 recipient addresses across the To:, CC:, or BCC: lines. If you need to send a
* single message to more than 50 recipients, you have to split the list of recipient addresses into groups of less
* than 50 recipients, and send separate messages to each group.
*
* Amazon SES allows you to specify 8-bit Content-Transfer-Encoding for MIME message parts. However, if Amazon SES
* has to modify the contents of your message (for example, if you use open and click tracking), 8-bit content isn't
* preserved. For this reason, we highly recommend that you encode all content that isn't 7-bit ASCII. For more
* information, see MIME
* Encoding in the Amazon SES Developer Guide.
*
* Additionally, keep the following considerations in mind when using the
* Although you can customize the message headers when using the
* If you are using sending authorization to send on behalf of another user,
*
*
*
* Don't include these X-headers in the DKIM signature. Amazon SES removes these before it sends the email.
*
* If you only specify the
* For more information about sending authorization, see the Using Sending
* Authorization with Amazon SES in the Amazon SES Developer Guide.
*
* For every message that you send, the total number of recipients (including each recipient in the To:, CC: and
* BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending
* quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES
* Sending Limits in the Amazon SES Developer Guide.
* SendEmail
API operation. When you use the
* SendRawEmail
operation, you can specify the headers of the message as well as its content. This
* flexibility is useful, for example, when you want to send a multipart MIME email (such a message that contains
* both a text and an HTML version). You can also use this operation to send messages that include attachments.
* SendRawEmail
operation has the following requirements:
*
*
* SendRawEmail
operation:
*
*
*
* @param sendRawEmailRequest
* Represents a request to send a single raw email using Amazon SES. For more information, see the Amazon SES Developer
* Guide.
* @return Result of the SendRawEmail operation returned by the service.
* @throws MessageRejectedException
* Indicates that the action failed, and the message could not be sent. Check the error stack for more
* information about what caused the error.
* @throws MailFromDomainNotVerifiedException
* Indicates that the message could not be sent because Amazon SES could not read the MX record required to
* use the specified MAIL FROM domain. For information about editing the custom MAIL FROM domain settings
* for an identity, see the Amazon SES Developer
* Guide.
* @throws ConfigurationSetDoesNotExistException
* Indicates that the configuration set does not exist.
* @throws ConfigurationSetSendingPausedException
* Indicates that email sending is disabled for the configuration set.SendRawEmail
operation, Amazon SES
* will automatically apply its own Message-ID
and Date
headers; if you passed these
* headers when creating the message, they will be overwritten by the values that Amazon SES provides.
* SendRawEmail
enables you
* to specify the cross-account identity for the email's Source, From, and Return-Path parameters in one of two
* ways: you can pass optional parameters SourceArn
, FromArn
, and/or
* ReturnPathArn
to the API, or you can include the following X-headers in the header of your raw
* email:
*
*
* X-SES-SOURCE-ARN
* X-SES-FROM-ARN
* X-SES-RETURN-PATH-ARN
* SourceIdentityArn
parameter, Amazon SES sets the From and Return-Path
* addresses to the same identity that you specified.
*
* You can enable or disable email sending for a configuration set using * UpdateConfigurationSetSendingEnabled. * @throws AccountSendingPausedException * Indicates that email sending is disabled for your entire Amazon SES account. *
*
* You can enable or disable email sending for your Amazon SES account using
* UpdateAccountSendingEnabled.
* @sample AmazonSimpleEmailService.SendRawEmail
* @see AWS API
* Documentation
*/
@Override
public SendRawEmailResult sendRawEmail(SendRawEmailRequest request) {
request = beforeClientExecution(request);
return executeSendRawEmail(request);
}
@SdkInternalApi
final SendRawEmailResult executeSendRawEmail(SendRawEmailRequest sendRawEmailRequest) {
ExecutionContext executionContext = createExecutionContext(sendRawEmailRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Composes an email message using an email template and immediately queues it for sending.
*
* In order to send email using the
* The call must refer to an existing email template. You can create email templates using the CreateTemplate
* operation.
*
* The message must be sent from a verified email address or domain.
*
* If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to
* email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email
* Addresses and Domains in the Amazon SES Developer Guide.
*
* The maximum message size is 10 MB.
*
* Calls to the
* The
* If your call to the
* For these reasons, we highly recommend that you set up Amazon SES to send you notifications when Rendering
* Failure events occur. For more information, see Sending
* Personalized Email Using the Amazon SES API in the Amazon Simple Email Service Developer Guide.
* SendTemplatedEmail
operation, your call to the API must meet the
* following requirements:
*
*
* SendTemplatedEmail
operation may only include one Destination
parameter. A
* destination is a set of recipients who will receive the same version of the email. The Destination
* parameter can include up to 50 recipients, across the To:, CC: and BCC: fields.
* Destination
parameter must include at least one recipient email address. The recipient address
* can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is
* not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even
* if the message contains other recipients that are valid.
* SendTemplatedEmail
operation includes all of the required parameters, Amazon SES
* accepts it and returns a Message ID. However, if Amazon SES can't render the email because the template contains
* errors, it doesn't send the email. Additionally, because it already accepted the message, Amazon SES doesn't
* return a message stating that it was unable to send the email.
*
* You can enable or disable email sending for a configuration set using * UpdateConfigurationSetSendingEnabled. * @throws AccountSendingPausedException * Indicates that email sending is disabled for your entire Amazon SES account. *
*
* You can enable or disable email sending for your Amazon SES account using
* UpdateAccountSendingEnabled.
* @sample AmazonSimpleEmailService.SendTemplatedEmail
* @see AWS API
* Documentation
*/
@Override
public SendTemplatedEmailResult sendTemplatedEmail(SendTemplatedEmailRequest request) {
request = beforeClientExecution(request);
return executeSendTemplatedEmail(request);
}
@SdkInternalApi
final SendTemplatedEmailResult executeSendTemplatedEmail(SendTemplatedEmailRequest sendTemplatedEmailRequest) {
ExecutionContext executionContext = createExecutionContext(sendTemplatedEmailRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Sets the specified receipt rule set as the active receipt rule set.
*
* To disable your email-receiving through Amazon SES completely, you can call this API with RuleSetName set to
* null.
*
* For information about managing receipt rule sets, see the Amazon SES Developer Guide.
*
* You can execute this operation no more than once per second.
*
* Enables or disables Easy DKIM signing of email sent from an identity. If Easy DKIM signing is enabled for a
* domain, then Amazon SES uses DKIM to sign all email that it sends from addresses on that domain. If Easy DKIM
* signing is enabled for an email address, then Amazon SES uses DKIM to sign all email it sends from that address.
*
* For email addresses (for example,
* You can enable DKIM signing for an identity at any time after you start the verification process for the
* identity, even if the verification process isn't complete.
*
* You can execute this operation no more than once per second.
*
* For more information about Easy DKIM signing, go to the Amazon SES Developer Guide.
*
* Given an identity (an email address or a domain), enables or disables whether Amazon SES forwards bounce and
* complaint notifications as email. Feedback forwarding can only be disabled when Amazon Simple Notification
* Service (Amazon SNS) topics are specified for both bounces and complaints.
*
* Feedback forwarding does not apply to delivery notifications. Delivery notifications are only available through
* Amazon SNS.
*
* You can execute this operation no more than once per second.
*
* For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.
*
* Given an identity (an email address or a domain), sets whether Amazon SES includes the original email headers in
* the Amazon Simple Notification Service (Amazon SNS) notifications of a specified type.
*
* You can execute this operation no more than once per second.
*
* For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.
*
* Enables or disables the custom MAIL FROM domain setup for a verified identity (an email address or a domain).
*
* To send emails using the specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's DNS
* settings. If you want your emails to pass Sender Policy Framework (SPF) checks, you must also add or update an
* SPF record. For more information, see the Amazon SES Developer Guide.
*
* You can execute this operation no more than once per second.
*
* Sets an Amazon Simple Notification Service (Amazon SNS) topic to use when delivering notifications. When you use
* this operation, you specify a verified identity, such as an email address or domain. When you send an email that
* uses the chosen identity in the Source field, Amazon SES sends notifications to the topic you specified. You can
* send bounce, complaint, or delivery notifications (or any combination of the three) to the Amazon SNS topic that
* you specify.
*
* You can execute this operation no more than once per second.
*
* For more information about feedback notification, see the Amazon SES Developer Guide.
*
* Sets the position of the specified receipt rule in the receipt rule set.
*
* For information about managing receipt rules, see the Amazon
* SES Developer Guide.
*
* You can execute this operation no more than once per second.
*
* Creates a preview of the MIME content of an email when provided with a template and a set of replacement data.
*
* You can execute this operation no more than once per second.
*
* Enables or disables email sending across your entire Amazon SES account in the current AWS Region. You can use
* this operation in conjunction with Amazon CloudWatch alarms to temporarily pause email sending across your Amazon
* SES account in a given AWS Region when reputation metrics (such as your bounce or complaint rates) reach certain
* thresholds.
*
* You can execute this operation no more than once per second.
*
* Updates the event destination of a configuration set. Event destinations are associated with configuration sets,
* which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple
* Notification Service (Amazon SNS). For information about using configuration sets, see Monitoring Your Amazon
* SES Sending Activity in the Amazon SES Developer Guide.
*
* When you create or update an event destination, you must provide one, and only one, destination. The destination
* can be Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).
*
* You can execute this operation no more than once per second.
*
* Enables or disables the publishing of reputation metrics for emails sent using a specific configuration set in a
* given AWS Region. Reputation metrics include bounce and complaint rates. These metrics are published to Amazon
* CloudWatch. By using CloudWatch, you can create alarms when bounce or complaint rates exceed certain thresholds.
*
* You can execute this operation no more than once per second.
*
* Enables or disables email sending for messages sent using a specific configuration set in a given AWS Region. You
* can use this operation in conjunction with Amazon CloudWatch alarms to temporarily pause email sending for a
* configuration set when the reputation metrics for that configuration set (such as your bounce on complaint rate)
* exceed certain thresholds.
*
* You can execute this operation no more than once per second.
*
* Modifies an association between a configuration set and a custom domain for open and click event tracking.
*
* By default, images and links used for tracking open and click events are hosted on domains operated by Amazon
* SES. You can configure a subdomain of your own to handle these events. For information about using custom
* domains, see the Amazon SES
* Developer Guide.
* user@example.com
), you can only enable DKIM signing if the
* corresponding domain (in this case, example.com
) has been set up to use Easy DKIM.
*
* When the tracking domain you specified is not verified in Amazon SES. *
** When the tracking domain you specified is not a valid domain or subdomain. *
** Updates an existing custom verification email template. *
** For more information about custom verification email templates, see Using Custom * Verification Email Templates in the Amazon SES Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param updateCustomVerificationEmailTemplateRequest * Represents a request to update an existing custom verification email template. * @return Result of the UpdateCustomVerificationEmailTemplate operation returned by the service. * @throws CustomVerificationEmailTemplateDoesNotExistException * Indicates that a custom verification email template with the name you specified does not exist. * @throws FromEmailAddressNotVerifiedException * Indicates that the sender address specified for a custom verification email is not verified, and is * therefore not eligible to send the custom verification email. * @throws CustomVerificationEmailInvalidContentException * Indicates that custom verification email template provided content is invalid. * @sample AmazonSimpleEmailService.UpdateCustomVerificationEmailTemplate * @see AWS API Documentation */ @Override public UpdateCustomVerificationEmailTemplateResult updateCustomVerificationEmailTemplate(UpdateCustomVerificationEmailTemplateRequest request) { request = beforeClientExecution(request); return executeUpdateCustomVerificationEmailTemplate(request); } @SdkInternalApi final UpdateCustomVerificationEmailTemplateResult executeUpdateCustomVerificationEmailTemplate( UpdateCustomVerificationEmailTemplateRequest updateCustomVerificationEmailTemplateRequest) { ExecutionContext executionContext = createExecutionContext(updateCustomVerificationEmailTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Updates a receipt rule. *
** For information about managing receipt rules, see the Amazon * SES Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param updateReceiptRuleRequest * Represents a request to update a receipt rule. You use receipt rules to receive email with Amazon SES. For * more information, see the Amazon SES * Developer Guide. * @return Result of the UpdateReceiptRule operation returned by the service. * @throws InvalidSnsTopicException * Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES could not publish to the * topic, possibly due to permissions issues. For information about giving permissions, see the Amazon SES * Developer Guide. * @throws InvalidS3ConfigurationException * Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is invalid, or that Amazon SES * could not publish to the bucket, possibly due to permissions issues. For information about giving * permissions, see the Amazon SES * Developer Guide. * @throws InvalidLambdaFunctionException * Indicates that the provided AWS Lambda function is invalid, or that Amazon SES could not execute the * provided function, possibly due to permissions issues. For information about giving permissions, see the * Amazon * SES Developer Guide. * @throws RuleSetDoesNotExistException * Indicates that the provided receipt rule set does not exist. * @throws RuleDoesNotExistException * Indicates that the provided receipt rule does not exist. * @throws LimitExceededException * Indicates that a resource could not be created because of service limits. For a list of Amazon SES * limits, see the Amazon SES * Developer Guide. * @sample AmazonSimpleEmailService.UpdateReceiptRule * @see AWS API * Documentation */ @Override public UpdateReceiptRuleResult updateReceiptRule(UpdateReceiptRuleRequest request) { request = beforeClientExecution(request); return executeUpdateReceiptRule(request); } @SdkInternalApi final UpdateReceiptRuleResult executeUpdateReceiptRule(UpdateReceiptRuleRequest updateReceiptRuleRequest) { ExecutionContext executionContext = createExecutionContext(updateReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Updates an email template. Email templates enable you to send personalized email to one or more destinations in a * single API operation. For more information, see the Amazon SES * Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param updateTemplateRequest * @return Result of the UpdateTemplate operation returned by the service. * @throws TemplateDoesNotExistException * Indicates that the Template object you specified does not exist in your Amazon SES account. * @throws InvalidTemplateException * Indicates that the template that you specified could not be rendered. This issue may occur when a * template refers to a partial that does not exist. * @sample AmazonSimpleEmailService.UpdateTemplate * @see AWS API * Documentation */ @Override public UpdateTemplateResult updateTemplate(UpdateTemplateRequest request) { request = beforeClientExecution(request); return executeUpdateTemplate(request); } @SdkInternalApi final UpdateTemplateResult executeUpdateTemplate(UpdateTemplateRequest updateTemplateRequest) { ExecutionContext executionContext = createExecutionContext(updateTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns a set of DKIM tokens for a domain identity. *
*
* When you execute the VerifyDomainDkim
operation, the domain that you specify is added to the list of
* identities that are associated with your account. This is true even if you haven't already associated the domain
* with your account by using the VerifyDomainIdentity
operation. However, you can't send email from
* the domain until you either successfully verify it or you
* successfully set up DKIM for
* it.
*
* You use the tokens that are generated by this operation to create CNAME records. When Amazon SES detects that * you've added these records to the DNS configuration for a domain, you can start sending email from that domain. * You can start sending email even if you haven't added the TXT record provided by the VerifyDomainIdentity * operation to the DNS configuration for your domain. All email that you send from the domain is authenticated * using DKIM. *
** To create the CNAME records for DKIM authentication, use the following values: *
** Name: token._domainkey.example.com *
** Type: CNAME *
** Value: token.dkim.amazonses.com *
** In the preceding example, replace token with one of the tokens that are generated when you execute this * operation. Replace example.com with your domain. Repeat this process for each token that's generated by * this operation. *
** You can execute this operation no more than once per second. *
* * @param verifyDomainDkimRequest * Represents a request to generate the CNAME records needed to set up Easy DKIM with Amazon SES. For more * information about setting up Easy DKIM, see the Amazon SES Developer * Guide. * @return Result of the VerifyDomainDkim operation returned by the service. * @sample AmazonSimpleEmailService.VerifyDomainDkim * @see AWS API * Documentation */ @Override public VerifyDomainDkimResult verifyDomainDkim(VerifyDomainDkimRequest request) { request = beforeClientExecution(request); return executeVerifyDomainDkim(request); } @SdkInternalApi final VerifyDomainDkimResult executeVerifyDomainDkim(VerifyDomainDkimRequest verifyDomainDkimRequest) { ExecutionContext executionContext = createExecutionContext(verifyDomainDkimRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Adds a domain to the list of identities for your Amazon SES account in the current AWS Region and attempts to * verify it. For more information about verifying domains, see Verifying Email * Addresses and Domains in the Amazon SES Developer Guide. *
** You can execute this operation no more than once per second. *
* * @param verifyDomainIdentityRequest * Represents a request to begin Amazon SES domain verification and to generate the TXT records that you must * publish to the DNS server of your domain to complete the verification. For information about domain * verification, see the Amazon SES Developer * Guide. * @return Result of the VerifyDomainIdentity operation returned by the service. * @sample AmazonSimpleEmailService.VerifyDomainIdentity * @see AWS API * Documentation */ @Override public VerifyDomainIdentityResult verifyDomainIdentity(VerifyDomainIdentityRequest request) { request = beforeClientExecution(request); return executeVerifyDomainIdentity(request); } @SdkInternalApi final VerifyDomainIdentityResult executeVerifyDomainIdentity(VerifyDomainIdentityRequest verifyDomainIdentityRequest) { ExecutionContext executionContext = createExecutionContext(verifyDomainIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* Deprecated. Use the VerifyEmailIdentity
operation to verify a new email address.
*
* Adds an email address to the list of identities for your Amazon SES account in the current AWS region and * attempts to verify it. As a result of executing this operation, a verification email is sent to the specified * address. *
** You can execute this operation no more than once per second. *
* * @param verifyEmailIdentityRequest * Represents a request to begin email address verification with Amazon SES. For information about email * address verification, see the Amazon SES * Developer Guide. * @return Result of the VerifyEmailIdentity operation returned by the service. * @sample AmazonSimpleEmailService.VerifyEmailIdentity * @see AWS API * Documentation */ @Override public VerifyEmailIdentityResult verifyEmailIdentity(VerifyEmailIdentityRequest request) { request = beforeClientExecution(request); return executeVerifyEmailIdentity(request); } @SdkInternalApi final VerifyEmailIdentityResult executeVerifyEmailIdentity(VerifyEmailIdentityRequest verifyEmailIdentityRequest) { ExecutionContext executionContext = createExecutionContext(verifyEmailIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private