All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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 java.util.Map.Entry;

import org.apache.commons.logging.*;

import com.amazonaws.*;
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.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.
 * 

* Amazon Simple Email Service *

* This is the API Reference for Amazon Simple Email Service (Amazon SES). This * documentation is intended to be 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. *

*
*/ @ThreadSafe public class AmazonSimpleEmailServiceClient extends AmazonWebServiceClient implements AmazonSimpleEmailService { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory .getLog(AmazonSimpleEmailService.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "ses"; /** * Client configuration factory providing ClientConfigurations tailored to * this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); /** * List of exception unmarshallers for all modeled exceptions */ protected final List> exceptionUnmarshallers = new ArrayList>(); /** * 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: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 * metadata service
  • *
* *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ public AmazonSimpleEmailServiceClient() { this(new DefaultAWSCredentialsProviderChain(), 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: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 * metadata service
  • *
* *

* 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 */ public AmazonSimpleEmailServiceClient( ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), 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. */ 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.). */ public AmazonSimpleEmailServiceClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider( awsCredentials); 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. */ 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.). */ 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 */ public AmazonSimpleEmailServiceClient( AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } /** * 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) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); init(); } private void init() { exceptionUnmarshallers .add(new InvalidS3ConfigurationExceptionUnmarshaller()); exceptionUnmarshallers.add(new MessageRejectedExceptionUnmarshaller()); exceptionUnmarshallers.add(new RuleDoesNotExistExceptionUnmarshaller()); exceptionUnmarshallers .add(new RuleSetDoesNotExistExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidSnsTopicExceptionUnmarshaller()); exceptionUnmarshallers.add(new LimitExceededExceptionUnmarshaller()); exceptionUnmarshallers .add(new InvalidLambdaFunctionExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidPolicyExceptionUnmarshaller()); exceptionUnmarshallers.add(new AlreadyExistsExceptionUnmarshaller()); exceptionUnmarshallers.add(new CannotDeleteExceptionUnmarshaller()); exceptionUnmarshallers .add(new MailFromDomainNotVerifiedExceptionUnmarshaller()); 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")); } /** *

* 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. *

*

* This action is throttled at one request 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 due to a naming * conflict. * @throws LimitExceededException * Indicates that a resource could not be created due to service * limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide. * @sample AmazonSimpleEmailService.CloneReceiptRuleSet */ @Override public CloneReceiptRuleSetResult cloneReceiptRuleSet( CloneReceiptRuleSetRequest cloneReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(cloneReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CloneReceiptRuleSetRequestMarshaller() .marshall(super .beforeMarshalling(cloneReceiptRuleSetRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CloneReceiptRuleSetResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a new IP address filter. *

*

* For information about setting up IP address filters, see the Amazon SES Developer Guide. *

*

* This action is throttled at one request 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 due to 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 due to a naming * conflict. * @sample AmazonSimpleEmailService.CreateReceiptFilter */ @Override public CreateReceiptFilterResult createReceiptFilter( CreateReceiptFilterRequest createReceiptFilterRequest) { ExecutionContext executionContext = createExecutionContext(createReceiptFilterRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateReceiptFilterRequestMarshaller() .marshall(super .beforeMarshalling(createReceiptFilterRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateReceiptFilterResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a receipt rule. *

*

* For information about setting up receipt rules, see the Amazon SES Developer Guide. *

*

* This action is throttled at one request 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 due to 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 due to service * limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide. * @sample AmazonSimpleEmailService.CreateReceiptRule */ @Override public CreateReceiptRuleResult createReceiptRule( CreateReceiptRuleRequest createReceiptRuleRequest) { ExecutionContext executionContext = createExecutionContext(createReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateReceiptRuleRequestMarshaller() .marshall(super .beforeMarshalling(createReceiptRuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateReceiptRuleResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates an empty receipt rule set. *

*

* For information about setting up receipt rule sets, see the Amazon SES Developer Guide. *

*

* This action is throttled at one request 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 due to a naming * conflict. * @throws LimitExceededException * Indicates that a resource could not be created due to service * limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide. * @sample AmazonSimpleEmailService.CreateReceiptRuleSet */ @Override public CreateReceiptRuleSetResult createReceiptRuleSet( CreateReceiptRuleSetRequest createReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(createReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateReceiptRuleSetRequestMarshaller() .marshall(super .beforeMarshalling(createReceiptRuleSetRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateReceiptRuleSetResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the specified identity (an email address or a domain) from the * list of verified identities. *

*

* This action is throttled at one request 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 */ @Override public DeleteIdentityResult deleteIdentity( DeleteIdentityRequest deleteIdentityRequest) { ExecutionContext executionContext = createExecutionContext(deleteIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteIdentityRequestMarshaller().marshall(super .beforeMarshalling(deleteIdentityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteIdentityResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*

* This action is throttled at one request 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 */ @Override public DeleteIdentityPolicyResult deleteIdentityPolicy( DeleteIdentityPolicyRequest deleteIdentityPolicyRequest) { ExecutionContext executionContext = createExecutionContext(deleteIdentityPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteIdentityPolicyRequestMarshaller() .marshall(super .beforeMarshalling(deleteIdentityPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteIdentityPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the specified IP address filter. *

*

* For information about managing IP address filters, see the Amazon SES Developer Guide. *

*

* This action is throttled at one request 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 */ @Override public DeleteReceiptFilterResult deleteReceiptFilter( DeleteReceiptFilterRequest deleteReceiptFilterRequest) { ExecutionContext executionContext = createExecutionContext(deleteReceiptFilterRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteReceiptFilterRequestMarshaller() .marshall(super .beforeMarshalling(deleteReceiptFilterRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteReceiptFilterResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the specified receipt rule. *

*

* For information about managing receipt rules, see the Amazon SES Developer Guide. *

*

* This action is throttled at one request 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 */ @Override public DeleteReceiptRuleResult deleteReceiptRule( DeleteReceiptRuleRequest deleteReceiptRuleRequest) { ExecutionContext executionContext = createExecutionContext(deleteReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteReceiptRuleRequestMarshaller() .marshall(super .beforeMarshalling(deleteReceiptRuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteReceiptRuleResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*

* This action is throttled at one request 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 */ @Override public DeleteReceiptRuleSetResult deleteReceiptRuleSet( DeleteReceiptRuleSetRequest deleteReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(deleteReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteReceiptRuleSetRequestMarshaller() .marshall(super .beforeMarshalling(deleteReceiptRuleSetRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteReceiptRuleSetResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the specified email address from the list of verified addresses. *

* *

* The DeleteVerifiedEmailAddress action is deprecated as of the May 15, * 2012 release of Domain Verification. The DeleteIdentity action is now * preferred. *

*
*

* This action is throttled at one request per second. *

* * @param deleteVerifiedEmailAddressRequest * Represents a request to delete an email address from the list of * email addresses you have attempted to verify under your AWS * account. * @return Result of the DeleteVerifiedEmailAddress operation returned by * the service. * @sample AmazonSimpleEmailService.DeleteVerifiedEmailAddress */ @Override public DeleteVerifiedEmailAddressResult deleteVerifiedEmailAddress( DeleteVerifiedEmailAddressRequest deleteVerifiedEmailAddressRequest) { ExecutionContext executionContext = createExecutionContext(deleteVerifiedEmailAddressRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteVerifiedEmailAddressRequestMarshaller() .marshall(super .beforeMarshalling(deleteVerifiedEmailAddressRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteVerifiedEmailAddressResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*

* This action is throttled at one request 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 */ @Override public DescribeActiveReceiptRuleSetResult describeActiveReceiptRuleSet( DescribeActiveReceiptRuleSetRequest describeActiveReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(describeActiveReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeActiveReceiptRuleSetRequestMarshaller() .marshall(super .beforeMarshalling(describeActiveReceiptRuleSetRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DescribeActiveReceiptRuleSetResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns the details of the specified receipt rule. *

*

* For information about setting up receipt rules, see the Amazon SES Developer Guide. *

*

* This action is throttled at one request 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 */ @Override public DescribeReceiptRuleResult describeReceiptRule( DescribeReceiptRuleRequest describeReceiptRuleRequest) { ExecutionContext executionContext = createExecutionContext(describeReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeReceiptRuleRequestMarshaller() .marshall(super .beforeMarshalling(describeReceiptRuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DescribeReceiptRuleResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns the details of the specified receipt rule set. *

*

* For information about managing receipt rule sets, see the Amazon SES Developer Guide. *

*

* This action is throttled at one request 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 */ @Override public DescribeReceiptRuleSetResult describeReceiptRuleSet( DescribeReceiptRuleSetRequest describeReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(describeReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeReceiptRuleSetRequestMarshaller() .marshall(super .beforeMarshalling(describeReceiptRuleSetRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DescribeReceiptRuleSetResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns the current status of Easy DKIM signing for an entity. For domain * name identities, this action 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 action 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 action 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 */ @Override public GetIdentityDkimAttributesResult getIdentityDkimAttributes( GetIdentityDkimAttributesRequest getIdentityDkimAttributesRequest) { ExecutionContext executionContext = createExecutionContext(getIdentityDkimAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetIdentityDkimAttributesRequestMarshaller() .marshall(super .beforeMarshalling(getIdentityDkimAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetIdentityDkimAttributesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns the custom MAIL FROM attributes for a list of identities (email * addresses and/or domains). *

*

* This action 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 */ @Override public GetIdentityMailFromDomainAttributesResult getIdentityMailFromDomainAttributes( GetIdentityMailFromDomainAttributesRequest getIdentityMailFromDomainAttributesRequest) { ExecutionContext executionContext = createExecutionContext(getIdentityMailFromDomainAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetIdentityMailFromDomainAttributesRequestMarshaller() .marshall(super .beforeMarshalling(getIdentityMailFromDomainAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetIdentityMailFromDomainAttributesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Given a list of verified identities (email addresses and/or domains), * returns a structure describing identity notification attributes. *

*

* This action 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 */ @Override public GetIdentityNotificationAttributesResult getIdentityNotificationAttributes( GetIdentityNotificationAttributesRequest getIdentityNotificationAttributesRequest) { ExecutionContext executionContext = createExecutionContext(getIdentityNotificationAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetIdentityNotificationAttributesRequestMarshaller() .marshall(super .beforeMarshalling(getIdentityNotificationAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetIdentityNotificationAttributesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*

* This action is throttled at one request 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 */ @Override public GetIdentityPoliciesResult getIdentityPolicies( GetIdentityPoliciesRequest getIdentityPoliciesRequest) { ExecutionContext executionContext = createExecutionContext(getIdentityPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetIdentityPoliciesRequestMarshaller() .marshall(super .beforeMarshalling(getIdentityPoliciesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetIdentityPoliciesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Given a list of identities (email addresses and/or domains), returns the * verification status and (for domain identities) the verification token * for each identity. *

*

* This action 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 */ @Override public GetIdentityVerificationAttributesResult getIdentityVerificationAttributes( GetIdentityVerificationAttributesRequest getIdentityVerificationAttributesRequest) { ExecutionContext executionContext = createExecutionContext(getIdentityVerificationAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetIdentityVerificationAttributesRequestMarshaller() .marshall(super .beforeMarshalling(getIdentityVerificationAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetIdentityVerificationAttributesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns the user's current sending limits. *

*

* This action is throttled at one request per second. *

* * @param getSendQuotaRequest * @return Result of the GetSendQuota operation returned by the service. * @sample AmazonSimpleEmailService.GetSendQuota */ @Override public GetSendQuotaResult getSendQuota( GetSendQuotaRequest getSendQuotaRequest) { ExecutionContext executionContext = createExecutionContext(getSendQuotaRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetSendQuotaRequestMarshaller().marshall(super .beforeMarshalling(getSendQuotaRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetSendQuotaResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public GetSendQuotaResult getSendQuota() { return getSendQuota(new GetSendQuotaRequest()); } /** *

* Returns the user's sending statistics. 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 interval. *

*

* This action is throttled at one request per second. *

* * @param getSendStatisticsRequest * @return Result of the GetSendStatistics operation returned by the * service. * @sample AmazonSimpleEmailService.GetSendStatistics */ @Override public GetSendStatisticsResult getSendStatistics( GetSendStatisticsRequest getSendStatisticsRequest) { ExecutionContext executionContext = createExecutionContext(getSendStatisticsRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetSendStatisticsRequestMarshaller() .marshall(super .beforeMarshalling(getSendStatisticsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetSendStatisticsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public GetSendStatisticsResult getSendStatistics() { return getSendStatistics(new GetSendStatisticsRequest()); } /** *

* Returns a list containing all of the identities (email addresses and * domains) for your AWS account, regardless of verification status. *

*

* This action is throttled at one request per second. *

* * @param listIdentitiesRequest * Represents a request to return a list of all identities (email * addresses and domains) that you have attempted to verify under * your AWS account, regardless of verification status. * @return Result of the ListIdentities operation returned by the service. * @sample AmazonSimpleEmailService.ListIdentities */ @Override public ListIdentitiesResult listIdentities( ListIdentitiesRequest listIdentitiesRequest) { ExecutionContext executionContext = createExecutionContext(listIdentitiesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListIdentitiesRequestMarshaller().marshall(super .beforeMarshalling(listIdentitiesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListIdentitiesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public ListIdentitiesResult listIdentities() { return listIdentities(new ListIdentitiesRequest()); } /** *

* 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 * GetIdentityPolicies. *

* *

* 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. *

*

* This action is throttled at one request per second. *

* * @param listIdentityPoliciesRequest * Represents a request to return a list of sending authorization * policies that are attached to 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 ListIdentityPolicies operation returned by the * service. * @sample AmazonSimpleEmailService.ListIdentityPolicies */ @Override public ListIdentityPoliciesResult listIdentityPolicies( ListIdentityPoliciesRequest listIdentityPoliciesRequest) { ExecutionContext executionContext = createExecutionContext(listIdentityPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListIdentityPoliciesRequestMarshaller() .marshall(super .beforeMarshalling(listIdentityPoliciesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListIdentityPoliciesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists the IP address filters associated with your AWS account. *

*

* For information about managing IP address filters, see the Amazon SES Developer Guide. *

*

* This action is throttled at one request per second. *

* * @param listReceiptFiltersRequest * : Represents a request to list the IP address filters that exist * under your AWS account. 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 ListReceiptFilters operation returned by the * service. * @sample AmazonSimpleEmailService.ListReceiptFilters */ @Override public ListReceiptFiltersResult listReceiptFilters( ListReceiptFiltersRequest listReceiptFiltersRequest) { ExecutionContext executionContext = createExecutionContext(listReceiptFiltersRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListReceiptFiltersRequestMarshaller() .marshall(super .beforeMarshalling(listReceiptFiltersRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListReceiptFiltersResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists the receipt rule sets that exist under your AWS account. If there * are additional receipt rule sets to be retrieved, you will receive a * NextToken that you can provide to the next call to * ListReceiptRuleSets to retrieve the additional entries. *

*

* For information about managing receipt rule sets, see the Amazon SES Developer Guide. *

*

* This action is throttled at one request per second. *

* * @param listReceiptRuleSetsRequest * Represents a request to list the receipt rule sets that exist * under your AWS account. You use receipt rule sets to receive email * with Amazon SES. For more information, see the Amazon SES Developer Guide. * @return Result of the ListReceiptRuleSets operation returned by the * service. * @sample AmazonSimpleEmailService.ListReceiptRuleSets */ @Override public ListReceiptRuleSetsResult listReceiptRuleSets( ListReceiptRuleSetsRequest listReceiptRuleSetsRequest) { ExecutionContext executionContext = createExecutionContext(listReceiptRuleSetsRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListReceiptRuleSetsRequestMarshaller() .marshall(super .beforeMarshalling(listReceiptRuleSetsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListReceiptRuleSetsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns a list containing all of the email addresses that have been * verified. *

* *

* The ListVerifiedEmailAddresses action is deprecated as of the May 15, * 2012 release of Domain Verification. The ListIdentities action is now * preferred. *

*
*

* This action is throttled at one request per second. *

* * @param listVerifiedEmailAddressesRequest * @return Result of the ListVerifiedEmailAddresses operation returned by * the service. * @sample AmazonSimpleEmailService.ListVerifiedEmailAddresses */ @Override public ListVerifiedEmailAddressesResult listVerifiedEmailAddresses( ListVerifiedEmailAddressesRequest listVerifiedEmailAddressesRequest) { ExecutionContext executionContext = createExecutionContext(listVerifiedEmailAddressesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListVerifiedEmailAddressesRequestMarshaller() .marshall(super .beforeMarshalling(listVerifiedEmailAddressesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListVerifiedEmailAddressesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public ListVerifiedEmailAddressesResult listVerifiedEmailAddresses() { return listVerifiedEmailAddresses(new ListVerifiedEmailAddressesRequest()); } /** *

* 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. *

*

* This action is throttled at one request per second. *

* * @param putIdentityPolicyRequest * Represents a request to add or update 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 PutIdentityPolicy operation returned by the * service. * @throws InvalidPolicyException * Indicates that the provided policy is invalid. Check the error * stack for more information about what caused the error. * @sample AmazonSimpleEmailService.PutIdentityPolicy */ @Override public PutIdentityPolicyResult putIdentityPolicy( PutIdentityPolicyRequest putIdentityPolicyRequest) { ExecutionContext executionContext = createExecutionContext(putIdentityPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutIdentityPolicyRequestMarshaller() .marshall(super .beforeMarshalling(putIdentityPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new PutIdentityPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*

* This action is throttled at one request per second. *

* * @param reorderReceiptRuleSetRequest * Represents a request to reorder the receipt rules within 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 ReorderReceiptRuleSet operation returned by the * service. * @throws RuleSetDoesNotExistException * Indicates that the provided receipt rule set does not exist. * @throws RuleDoesNotExistException * Indicates that the provided receipt rule does not exist. * @sample AmazonSimpleEmailService.ReorderReceiptRuleSet */ @Override public ReorderReceiptRuleSetResult reorderReceiptRuleSet( ReorderReceiptRuleSetRequest reorderReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(reorderReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ReorderReceiptRuleSetRequestMarshaller() .marshall(super .beforeMarshalling(reorderReceiptRuleSetRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ReorderReceiptRuleSetResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*

* This action is throttled at one request per second. *

* * @param sendBounceRequest * Represents a request to send a bounce message to the sender of an * email you received through Amazon SES. * @return Result of the SendBounce 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. * @sample AmazonSimpleEmailService.SendBounce */ @Override public SendBounceResult sendBounce(SendBounceRequest sendBounceRequest) { ExecutionContext executionContext = createExecutionContext(sendBounceRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SendBounceRequestMarshaller().marshall(super .beforeMarshalling(sendBounceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new SendBounceResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Composes an email message based on input data, and then immediately * queues the message for sending. *

*

* There are several important points to know about SendEmail: *

*
    *
  • *

    * You can only send email from verified email addresses and domains; * otherwise, you will get an "Email address not verified" error. If your * account is still in the Amazon SES sandbox, you must also verify every * recipient email address except for the recipients provided by the Amazon * SES mailbox simulator. For more information, go to the Amazon SES Developer Guide. *

    *
  • *
  • *

    * The total size of the message cannot exceed 10 MB. This includes any * attachments that are part of the message. *

    *
  • *
  • *

    * Amazon SES has a limit on the total number of recipients per message. The * combined number of To:, CC: and BCC: email addresses cannot exceed 50. 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 Amazon SES * repeatedly to send the message to each group. *

    *
  • *
  • *

    * For every message that you send, the total number of recipients (To:, CC: * and BCC:) is counted against your sending quota - the maximum number of * emails you can send in a 24-hour period. For information about your * sending quota, go to the Amazon SES Developer Guide. *

    *
  • *
* * @param sendEmailRequest * Represents a request to send a single formatted email using Amazon * SES. For more information, see the Amazon SES Developer Guide. * @return Result of the SendEmail 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. * @sample AmazonSimpleEmailService.SendEmail */ @Override public SendEmailResult sendEmail(SendEmailRequest sendEmailRequest) { ExecutionContext executionContext = createExecutionContext(sendEmailRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SendEmailRequestMarshaller().marshall(super .beforeMarshalling(sendEmailRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new SendEmailResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Sends an email message, with header and content specified by the client. * The SendRawEmail action is useful for sending multipart MIME * emails. The raw text of the message must comply with Internet email * standards; otherwise, the message cannot be sent. *

*

* There are several important points to know about * SendRawEmail: *

*
    *
  • *

    * You can only send email from verified email addresses and domains; * otherwise, you will get an "Email address not verified" error. If your * account is still in the Amazon SES sandbox, you must also verify every * recipient email address except for the recipients provided by the Amazon * SES mailbox simulator. For more information, go to the Amazon SES Developer Guide. *

    *
  • *
  • *

    * The total size of the message cannot exceed 10 MB. This includes any * attachments that are part of the message. *

    *
  • *
  • *

    * Amazon SES has a limit on the total number of recipients per message. The * combined number of To:, CC: and BCC: email addresses cannot exceed 50. 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 Amazon SES * repeatedly to send the message to each group. *

    *
  • *
  • *

    * The To:, CC:, and BCC: headers in the raw message can contain a group * list. Note that each recipient in a group list counts towards the * 50-recipient limit. *

    *
  • *
  • *

    * For every message that you send, the total number of recipients (To:, CC: * and BCC:) is counted against your sending quota - the maximum number of * emails you can send in a 24-hour period. For information about your * sending quota, go to the Amazon SES Developer Guide. *

    *
  • *
  • *

    * If you are using sending authorization to send on behalf of another user, * 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 *

      *
    • *
    * *

    * Do not include these X-headers in the DKIM signature, because they are * removed by Amazon SES before sending the email. *

    *
    *

    * For the most common sending authorization use case, we recommend that you * specify the SourceIdentityArn and do not specify either the * FromIdentityArn or ReturnPathIdentityArn. (The * same note applies to the corresponding X-headers.) If you only specify * the SourceIdentityArn, Amazon SES will simply set the "From" * address and the "Return Path" address to the identity specified in * SourceIdentityArn. For more information about sending * authorization, see the Amazon SES Developer Guide. *

    *
  • *
* * @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. * @sample AmazonSimpleEmailService.SendRawEmail */ @Override public SendRawEmailResult sendRawEmail( SendRawEmailRequest sendRawEmailRequest) { ExecutionContext executionContext = createExecutionContext(sendRawEmailRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SendRawEmailRequestMarshaller().marshall(super .beforeMarshalling(sendRawEmailRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new SendRawEmailResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*

* This action is throttled at one request per second. *

* * @param setActiveReceiptRuleSetRequest * Represents a request to set a receipt rule set as the active * 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 SetActiveReceiptRuleSet operation returned by the * service. * @throws RuleSetDoesNotExistException * Indicates that the provided receipt rule set does not exist. * @sample AmazonSimpleEmailService.SetActiveReceiptRuleSet */ @Override public SetActiveReceiptRuleSetResult setActiveReceiptRuleSet( SetActiveReceiptRuleSetRequest setActiveReceiptRuleSetRequest) { ExecutionContext executionContext = createExecutionContext(setActiveReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetActiveReceiptRuleSetRequestMarshaller() .marshall(super .beforeMarshalling(setActiveReceiptRuleSetRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new SetActiveReceiptRuleSetResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Enables or disables Easy DKIM signing of email sent from an identity: *

*
    *
  • *

    * If Easy DKIM signing is enabled for a domain name identity (e.g., * example.com), then Amazon SES will DKIM-sign all email sent * by addresses under that domain name (e.g., [email protected] * ). *

    *
  • *
  • *

    * If Easy DKIM signing is enabled for an email address, then Amazon SES * will DKIM-sign all email sent by that email address. *

    *
  • *
*

* For email addresses (e.g., [email protected]), you can only * enable Easy DKIM signing if the corresponding domain (e.g., * example.com) has been set up for Easy DKIM using the AWS * Console or the VerifyDomainDkim action. *

*

* This action is throttled at one request per second. *

*

* For more information about Easy DKIM signing, go to the Amazon SES Developer Guide. *

* * @param setIdentityDkimEnabledRequest * Represents a request to enable or disable Amazon SES Easy DKIM * signing for an identity. For more information about setting up * Easy DKIM, see the Amazon SES Developer Guide. * @return Result of the SetIdentityDkimEnabled operation returned by the * service. * @sample AmazonSimpleEmailService.SetIdentityDkimEnabled */ @Override public SetIdentityDkimEnabledResult setIdentityDkimEnabled( SetIdentityDkimEnabledRequest setIdentityDkimEnabledRequest) { ExecutionContext executionContext = createExecutionContext(setIdentityDkimEnabledRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetIdentityDkimEnabledRequestMarshaller() .marshall(super .beforeMarshalling(setIdentityDkimEnabledRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new SetIdentityDkimEnabledResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*
*

* This action is throttled at one request per second. *

*

* For more information about using notifications with Amazon SES, see the * Amazon SES Developer Guide. *

* * @param setIdentityFeedbackForwardingEnabledRequest * Represents a request to enable or disable whether Amazon SES * forwards you bounce and complaint notifications through email. For * information about email feedback forwarding, see the Amazon SES Developer Guide. * @return Result of the SetIdentityFeedbackForwardingEnabled operation * returned by the service. * @sample AmazonSimpleEmailService.SetIdentityFeedbackForwardingEnabled */ @Override public SetIdentityFeedbackForwardingEnabledResult setIdentityFeedbackForwardingEnabled( SetIdentityFeedbackForwardingEnabledRequest setIdentityFeedbackForwardingEnabledRequest) { ExecutionContext executionContext = createExecutionContext(setIdentityFeedbackForwardingEnabledRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetIdentityFeedbackForwardingEnabledRequestMarshaller() .marshall(super .beforeMarshalling(setIdentityFeedbackForwardingEnabledRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new SetIdentityFeedbackForwardingEnabledResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*

* This action is throttled at one request per second. *

*

* For more information about using notifications with Amazon SES, see the * Amazon SES Developer Guide. *

* * @param setIdentityHeadersInNotificationsEnabledRequest * Represents a request to set whether Amazon SES includes the * original email headers in the Amazon SNS notifications of a * specified type. For information about notifications, see the Amazon SES Developer Guide. * @return Result of the SetIdentityHeadersInNotificationsEnabled operation * returned by the service. * @sample AmazonSimpleEmailService.SetIdentityHeadersInNotificationsEnabled */ @Override public SetIdentityHeadersInNotificationsEnabledResult setIdentityHeadersInNotificationsEnabled( SetIdentityHeadersInNotificationsEnabledRequest setIdentityHeadersInNotificationsEnabledRequest) { ExecutionContext executionContext = createExecutionContext(setIdentityHeadersInNotificationsEnabledRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetIdentityHeadersInNotificationsEnabledRequestMarshaller() .marshall(super .beforeMarshalling(setIdentityHeadersInNotificationsEnabledRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new SetIdentityHeadersInNotificationsEnabledResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*
*

* This action is throttled at one request per second. *

* * @param setIdentityMailFromDomainRequest * Represents a request to enable or disable the Amazon SES custom * MAIL FROM domain setup for a verified identity. For information * about using a custom MAIL FROM domain, see the Amazon SES Developer Guide. * @return Result of the SetIdentityMailFromDomain operation returned by the * service. * @sample AmazonSimpleEmailService.SetIdentityMailFromDomain */ @Override public SetIdentityMailFromDomainResult setIdentityMailFromDomain( SetIdentityMailFromDomainRequest setIdentityMailFromDomainRequest) { ExecutionContext executionContext = createExecutionContext(setIdentityMailFromDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetIdentityMailFromDomainRequestMarshaller() .marshall(super .beforeMarshalling(setIdentityMailFromDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new SetIdentityMailFromDomainResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Given an identity (an email address or a domain), sets the Amazon Simple * Notification Service (Amazon SNS) topic to which Amazon SES will publish * bounce, complaint, and/or delivery notifications for emails sent with * that identity as the Source. *

* *

* Unless feedback forwarding is enabled, you must specify Amazon SNS topics * for bounce and complaint notifications. For more information, see * SetIdentityFeedbackForwardingEnabled. *

*
*

* This action is throttled at one request per second. *

*

* For more information about feedback notification, see the Amazon SES Developer Guide. *

* * @param setIdentityNotificationTopicRequest * Represents a request to specify the Amazon SNS topic to which * Amazon SES will publish bounce, complaint, or delivery * notifications for emails sent with that identity as the Source. * For information about Amazon SES notifications, see the Amazon SES Developer Guide. * @return Result of the SetIdentityNotificationTopic operation returned by * the service. * @sample AmazonSimpleEmailService.SetIdentityNotificationTopic */ @Override public SetIdentityNotificationTopicResult setIdentityNotificationTopic( SetIdentityNotificationTopicRequest setIdentityNotificationTopicRequest) { ExecutionContext executionContext = createExecutionContext(setIdentityNotificationTopicRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetIdentityNotificationTopicRequestMarshaller() .marshall(super .beforeMarshalling(setIdentityNotificationTopicRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new SetIdentityNotificationTopicResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*

* This action is throttled at one request per second. *

* * @param setReceiptRulePositionRequest * Represents a request to set the position of a receipt rule in 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 SetReceiptRulePosition operation returned by the * service. * @throws RuleSetDoesNotExistException * Indicates that the provided receipt rule set does not exist. * @throws RuleDoesNotExistException * Indicates that the provided receipt rule does not exist. * @sample AmazonSimpleEmailService.SetReceiptRulePosition */ @Override public SetReceiptRulePositionResult setReceiptRulePosition( SetReceiptRulePositionRequest setReceiptRulePositionRequest) { ExecutionContext executionContext = createExecutionContext(setReceiptRulePositionRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetReceiptRulePositionRequestMarshaller() .marshall(super .beforeMarshalling(setReceiptRulePositionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new SetReceiptRulePositionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates a receipt rule. *

*

* For information about managing receipt rules, see the Amazon SES Developer Guide. *

*

* This action is throttled at one request 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 due to service * limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide. * @sample AmazonSimpleEmailService.UpdateReceiptRule */ @Override public UpdateReceiptRuleResult updateReceiptRule( UpdateReceiptRuleRequest updateReceiptRuleRequest) { ExecutionContext executionContext = createExecutionContext(updateReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateReceiptRuleRequestMarshaller() .marshall(super .beforeMarshalling(updateReceiptRuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateReceiptRuleResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns a set of DKIM tokens for a domain. DKIM tokens are * character strings that represent your domain's identity. Using these * tokens, you will need to create DNS CNAME records that point to DKIM * public keys hosted by Amazon SES. Amazon Web Services will eventually * detect that you have updated your DNS records; this detection process may * take up to 72 hours. Upon successful detection, Amazon SES will be able * to DKIM-sign email originating from that domain. *

*

* This action is throttled at one request per second. *

*

* To enable or disable Easy DKIM signing for a domain, use the * SetIdentityDkimEnabled action. *

*

* For more information about creating DNS records using DKIM tokens, go to * the Amazon SES Developer Guide. *

* * @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 */ @Override public VerifyDomainDkimResult verifyDomainDkim( VerifyDomainDkimRequest verifyDomainDkimRequest) { ExecutionContext executionContext = createExecutionContext(verifyDomainDkimRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new VerifyDomainDkimRequestMarshaller() .marshall(super .beforeMarshalling(verifyDomainDkimRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new VerifyDomainDkimResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Verifies a domain. *

*

* This action is throttled at one request 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 */ @Override public VerifyDomainIdentityResult verifyDomainIdentity( VerifyDomainIdentityRequest verifyDomainIdentityRequest) { ExecutionContext executionContext = createExecutionContext(verifyDomainIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new VerifyDomainIdentityRequestMarshaller() .marshall(super .beforeMarshalling(verifyDomainIdentityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new VerifyDomainIdentityResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Verifies an email address. This action causes a confirmation email * message to be sent to the specified address. *

* *

* The VerifyEmailAddress action is deprecated as of the May 15, 2012 * release of Domain Verification. The VerifyEmailIdentity action is now * preferred. *

*
*

* This action is throttled at one request per second. *

* * @param verifyEmailAddressRequest * 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 VerifyEmailAddress operation returned by the * service. * @sample AmazonSimpleEmailService.VerifyEmailAddress */ @Override public VerifyEmailAddressResult verifyEmailAddress( VerifyEmailAddressRequest verifyEmailAddressRequest) { ExecutionContext executionContext = createExecutionContext(verifyEmailAddressRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new VerifyEmailAddressRequestMarshaller() .marshall(super .beforeMarshalling(verifyEmailAddressRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new VerifyEmailAddressResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Verifies an email address. This action causes a confirmation email * message to be sent to the specified address. *

*

* This action is throttled at one request 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 */ @Override public VerifyEmailIdentityResult verifyEmailIdentity( VerifyEmailIdentityRequest verifyEmailIdentityRequest) { ExecutionContext executionContext = createExecutionContext(verifyEmailIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new VerifyEmailIdentityRequestMarshaller() .marshall(super .beforeMarshalling(verifyEmailIdentityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new VerifyEmailIdentityResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * Returns additional metadata for a previously executed successful, * request, typically used for debugging issues where a service isn't acting * as expected. This data isn't considered part of the result data returned * by an operation, so it's available through this separate, diagnostic * interface. *

* 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 Response invoke( Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { executionContext.setCredentialsProvider(CredentialUtils .getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext); } /** * Invoke with no authentication. Credentials are not required and any * credentials set on the client or request will be ignored for this * operation. **/ private Response anonymousInvoke( Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext); } /** * Invoke the request using the http client. Assumes credentials (or lack * thereof) have been configured in the ExecutionContext beforehand. **/ private Response doInvoke( Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); DefaultErrorResponseHandler errorResponseHandler = new DefaultErrorResponseHandler( exceptionUnmarshallers); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy