/* * Copyright 2010-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.util.*; import com.amazonaws.*; import com.amazonaws.auth.*; import com.amazonaws.handlers.*; import com.amazonaws.http.*; import com.amazonaws.internal.*; import com.amazonaws.metrics.*; import com.amazonaws.transform.*; import com.amazonaws.util.*; import com.amazonaws.util.AWSRequestMetrics.Field; import com.amazonaws.services.simpleemail.model.*; import com.amazonaws.services.simpleemail.model.transform.*; /** * Client for accessing Amazon Simple Email Service. All service calls made * using this client are blocking, and will not return until the service call * completes. * <p> * <fullname>Amazon Simple Email Service</fullname> * <p> * This is the API Reference for Amazon Simple Email Service (Amazon SES). This * documentation is intended to be used in conjunction with the <a * href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html" * >Amazon SES Developer Guide</a>. * </p> * <note> * <p> * For a list of Amazon SES endpoints to use in service requests, see <a * href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/regions.html" * >Regions and Amazon SES</a> in the Amazon SES Developer Guide. * </p> * </note> */ public class AmazonSimpleEmailServiceClient extends AmazonWebServiceClient implements AmazonSimpleEmailService { /** Provider for AWS credentials. */ private AWSCredentialsProvider awsCredentialsProvider; /** * List of exception unmarshallers for all Amazon Simple Email Service * exceptions. */ protected final List<Unmarshaller<AmazonServiceException, Node>> exceptionUnmarshallers = new ArrayList<Unmarshaller<AmazonServiceException, Node>>(); /** * Constructs a new client to invoke service methods on * AmazonSimpleEmailService. A credentials provider chain will be used that * searches for credentials in this order: * <ul> * <li>Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY</li> * <li>Java System Properties - aws.accessKeyId and aws.secretKey</li> * <li>Instance profile credentials delivered through the Amazon EC2 * metadata service</li> * </ul> * <p> * All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ @Deprecated public AmazonSimpleEmailServiceClient() { this(new DefaultAWSCredentialsProviderChain(), new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AmazonSimpleEmailService. A credentials provider chain will be used that * searches for credentials in this order: * <ul> * <li>Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY</li> * <li>Java System Properties - aws.accessKeyId and aws.secretKey</li> * <li>Instance profile credentials delivered through the Amazon EC2 * metadata service</li> * </ul> * <p> * 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 AmazonSimpleEmailService (ex: * proxy settings, retry counts, etc.). * @see DefaultAWSCredentialsProviderChain */ @Deprecated public AmazonSimpleEmailServiceClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration); } /** * Constructs a new client to invoke service methods on * AmazonSimpleEmailService using the specified AWS account credentials. * <p> * If AWS session credentials are passed in, then those credentials will be * used to authenticate requests. Otherwise, if AWS long-term credentials * are passed in, then session management will be handled automatically by * the SDK. Callers are encouraged to use long-term credentials and let the * SDK handle starting and renewing sessions. * <p> * Automatically managed sessions will be shared among all clients that use * the same credentials and service endpoint. To opt out of this behavior, * explicitly provide an instance of {@link AWSCredentialsProvider} that * returns {@link AWSSessionCredentials}. * <p> * 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, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AmazonSimpleEmailService using the specified AWS account credentials and * client configuration options. * <p> * If AWS session credentials are passed in, then those credentials will be * used to authenticate requests. Otherwise, if AWS long-term credentials * are passed in, then session management will be handled automatically by * the SDK. Callers are encouraged to use long-term credentials and let the * SDK handle starting and renewing sessions. * <p> * Automatically managed sessions will be shared among all clients that use * the same credentials and service endpoint. To opt out of this behavior, * explicitly provide an instance of {@link AWSCredentialsProvider} that * returns {@link AWSSessionCredentials}. * <p> * 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 AmazonSimpleEmailService (ex: * proxy settings, retry counts, etc.). */ public AmazonSimpleEmailServiceClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { this(new StaticCredentialsProvider(awsCredentials), clientConfiguration); } /** * Constructs a new client to invoke service methods on * AmazonSimpleEmailService using the specified AWS account credentials * provider. * <p> * If AWS session credentials are passed in, then those credentials will be * used to authenticate requests. Otherwise, if AWS long-term credentials * are passed in, then session management will be handled automatically by * the SDK. Callers are encouraged to use long-term credentials and let the * SDK handle starting and renewing sessions. * <p> * Automatically managed sessions will be shared among all clients that use * the same credentials and service endpoint. To opt out of this behavior, * explicitly provide an instance of {@link AWSCredentialsProvider} that * returns {@link AWSSessionCredentials}. * <p> * 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, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AmazonSimpleEmailService using the specified AWS account credentials * provider and client configuration options. * <p> * If AWS session credentials are passed in, then those credentials will be * used to authenticate requests. Otherwise, if AWS long-term credentials * are passed in, then session management will be handled automatically by * the SDK. Callers are encouraged to use long-term credentials and let the * SDK handle starting and renewing sessions. * <p> * Automatically managed sessions will be shared among all clients that use * the same credentials and service endpoint. To opt out of this behavior, * explicitly provide an instance of {@link AWSCredentialsProvider} that * returns {@link AWSSessionCredentials}. * <p> * 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 AmazonSimpleEmailService (ex: * proxy settings, retry counts, etc.). */ public AmazonSimpleEmailServiceClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, new UrlHttpClient(clientConfiguration)); } /** * Constructs a new client to invoke service methods on * AmazonSimpleEmailService using the specified AWS account credentials * provider, client configuration options and request metric collector. * <p> * 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 AmazonSimpleEmailService (ex: * proxy settings, retry counts, etc.). * @param requestMetricCollector optional request metric collector */ @Deprecated public AmazonSimpleEmailServiceClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(adjustClientConfiguration(clientConfiguration), requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } /** * Constructs a new client to invoke service methods on * AmazonSimpleEmailService using the specified AWS account credentials * provider, client configuration options and request metric collector. * <p> * 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 AmazonSimpleEmailService (ex: * proxy settings, retry counts, etc.). * @param httpClient A http client */ public AmazonSimpleEmailServiceClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, HttpClient httpClient) { super(adjustClientConfiguration(clientConfiguration), httpClient); this.awsCredentialsProvider = awsCredentialsProvider; init(); } private void init() { exceptionUnmarshallers.add(new AlreadyExistsExceptionUnmarshaller()); exceptionUnmarshallers.add(new CannotDeleteExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidLambdaFunctionExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidPolicyExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidS3ConfigurationExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidSnsTopicExceptionUnmarshaller()); exceptionUnmarshallers.add(new LimitExceededExceptionUnmarshaller()); exceptionUnmarshallers.add(new MailFromDomainNotVerifiedExceptionUnmarshaller()); exceptionUnmarshallers.add(new MessageRejectedExceptionUnmarshaller()); exceptionUnmarshallers.add(new RuleDoesNotExistExceptionUnmarshaller()); exceptionUnmarshallers.add(new RuleSetDoesNotExistExceptionUnmarshaller()); exceptionUnmarshallers.add(new StandardErrorUnmarshaller()); // calling this.setEndPoint(...) will also modify the signer accordingly this.setEndpoint("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")); } private static ClientConfiguration adjustClientConfiguration(ClientConfiguration orig) { ClientConfiguration config = orig; return config; } /** * <p> * 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. * </p> * <p> * For information about setting up rule sets, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param cloneReceiptRuleSetRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return cloneReceiptRuleSetResult The response from the * CloneReceiptRuleSet service method, as returned by Amazon Simple * Email Service. * @throws RuleSetDoesNotExistException * @throws AlreadyExistsException * @throws LimitExceededException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public CloneReceiptRuleSetResult cloneReceiptRuleSet( CloneReceiptRuleSetRequest cloneReceiptRuleSetRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(cloneReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<CloneReceiptRuleSetRequest> request = null; Response<CloneReceiptRuleSetResult> response = null; try { request = new CloneReceiptRuleSetRequestMarshaller() .marshall(cloneReceiptRuleSetRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new CloneReceiptRuleSetResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Creates a new IP address filter. * </p> * <p> * For information about setting up IP address filters, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param createReceiptFilterRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return createReceiptFilterResult The response from the * CreateReceiptFilter service method, as returned by Amazon Simple * Email Service. * @throws LimitExceededException * @throws AlreadyExistsException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public CreateReceiptFilterResult createReceiptFilter( CreateReceiptFilterRequest createReceiptFilterRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(createReceiptFilterRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<CreateReceiptFilterRequest> request = null; Response<CreateReceiptFilterResult> response = null; try { request = new CreateReceiptFilterRequestMarshaller() .marshall(createReceiptFilterRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new CreateReceiptFilterResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Creates a receipt rule. * </p> * <p> * For information about setting up receipt rules, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param createReceiptRuleRequest <p> * Represents a request to create a receipt rule. You use receipt * rules to receive email with Amazon SES. For more information, * see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return createReceiptRuleResult The response from the CreateReceiptRule * service method, as returned by Amazon Simple Email Service. * @throws InvalidSnsTopicException * @throws InvalidS3ConfigurationException * @throws InvalidLambdaFunctionException * @throws AlreadyExistsException * @throws RuleDoesNotExistException * @throws RuleSetDoesNotExistException * @throws LimitExceededException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public CreateReceiptRuleResult createReceiptRule( CreateReceiptRuleRequest createReceiptRuleRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(createReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<CreateReceiptRuleRequest> request = null; Response<CreateReceiptRuleResult> response = null; try { request = new CreateReceiptRuleRequestMarshaller().marshall(createReceiptRuleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new CreateReceiptRuleResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Creates an empty receipt rule set. * </p> * <p> * For information about setting up receipt rule sets, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param createReceiptRuleSetRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return createReceiptRuleSetResult The response from the * CreateReceiptRuleSet service method, as returned by Amazon Simple * Email Service. * @throws AlreadyExistsException * @throws LimitExceededException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public CreateReceiptRuleSetResult createReceiptRuleSet( CreateReceiptRuleSetRequest createReceiptRuleSetRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(createReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<CreateReceiptRuleSetRequest> request = null; Response<CreateReceiptRuleSetResult> response = null; try { request = new CreateReceiptRuleSetRequestMarshaller() .marshall(createReceiptRuleSetRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new CreateReceiptRuleSetResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Deletes the specified identity (an email address or a domain) from the * list of verified identities. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param deleteIdentityRequest <p> * Represents a request to delete one of your Amazon SES * identities (an email address or domain). * </p> * @return deleteIdentityResult The response from the DeleteIdentity service * method, as returned by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public DeleteIdentityResult deleteIdentity(DeleteIdentityRequest deleteIdentityRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<DeleteIdentityRequest> request = null; Response<DeleteIdentityResult> response = null; try { request = new DeleteIdentityRequestMarshaller().marshall(deleteIdentityRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DeleteIdentityResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * 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. * </p> * <note> * <p> * This API is for the identity owner only. If you have not verified the * identity, this API will return an error. * </p> * </note> * <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param deleteIdentityPolicyRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html" * >Amazon SES Developer Guide</a>. * </p> * @return deleteIdentityPolicyResult The response from the * DeleteIdentityPolicy service method, as returned by Amazon Simple * Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public DeleteIdentityPolicyResult deleteIdentityPolicy( DeleteIdentityPolicyRequest deleteIdentityPolicyRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteIdentityPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<DeleteIdentityPolicyRequest> request = null; Response<DeleteIdentityPolicyResult> response = null; try { request = new DeleteIdentityPolicyRequestMarshaller() .marshall(deleteIdentityPolicyRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DeleteIdentityPolicyResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Deletes the specified IP address filter. * </p> * <p> * For information about managing IP address filters, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param deleteReceiptFilterRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return deleteReceiptFilterResult The response from the * DeleteReceiptFilter service method, as returned by Amazon Simple * Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public DeleteReceiptFilterResult deleteReceiptFilter( DeleteReceiptFilterRequest deleteReceiptFilterRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteReceiptFilterRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<DeleteReceiptFilterRequest> request = null; Response<DeleteReceiptFilterResult> response = null; try { request = new DeleteReceiptFilterRequestMarshaller() .marshall(deleteReceiptFilterRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DeleteReceiptFilterResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Deletes the specified receipt rule. * </p> * <p> * For information about managing receipt rules, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param deleteReceiptRuleRequest <p> * Represents a request to delete a receipt rule. You use receipt * rules to receive email with Amazon SES. For more information, * see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return deleteReceiptRuleResult The response from the DeleteReceiptRule * service method, as returned by Amazon Simple Email Service. * @throws RuleSetDoesNotExistException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public DeleteReceiptRuleResult deleteReceiptRule( DeleteReceiptRuleRequest deleteReceiptRuleRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<DeleteReceiptRuleRequest> request = null; Response<DeleteReceiptRuleResult> response = null; try { request = new DeleteReceiptRuleRequestMarshaller().marshall(deleteReceiptRuleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DeleteReceiptRuleResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Deletes the specified receipt rule set and all of the receipt rules it * contains. * </p> * <note> * <p> * The currently active rule set cannot be deleted. * </p> * </note> * <p> * For information about managing receipt rule sets, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param deleteReceiptRuleSetRequest <p> * 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 * <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return deleteReceiptRuleSetResult The response from the * DeleteReceiptRuleSet service method, as returned by Amazon Simple * Email Service. * @throws CannotDeleteException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public DeleteReceiptRuleSetResult deleteReceiptRuleSet( DeleteReceiptRuleSetRequest deleteReceiptRuleSetRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<DeleteReceiptRuleSetRequest> request = null; Response<DeleteReceiptRuleSetResult> response = null; try { request = new DeleteReceiptRuleSetRequestMarshaller() .marshall(deleteReceiptRuleSetRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DeleteReceiptRuleSetResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Deletes the specified email address from the list of verified addresses. * </p> * <important> * <p> * The DeleteVerifiedEmailAddress action is deprecated as of the May 15, * 2012 release of Domain Verification. The DeleteIdentity action is now * preferred. * </p> * </important> * <p> * This action is throttled at one request per second. * </p> * * @param deleteVerifiedEmailAddressRequest <p> * Represents a request to delete an email address from the list * of email addresses you have attempted to verify under your AWS * account. * </p> * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public void deleteVerifiedEmailAddress( DeleteVerifiedEmailAddressRequest deleteVerifiedEmailAddressRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteVerifiedEmailAddressRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<DeleteVerifiedEmailAddressRequest> request = null; Response<Void> response = null; try { request = new DeleteVerifiedEmailAddressRequestMarshaller() .marshall(deleteVerifiedEmailAddressRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Returns the metadata and receipt rules for the receipt rule set that is * currently active. * </p> * <p> * For information about setting up receipt rule sets, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param describeActiveReceiptRuleSetRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return describeActiveReceiptRuleSetResult The response from the * DescribeActiveReceiptRuleSet service method, as returned by * Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public DescribeActiveReceiptRuleSetResult describeActiveReceiptRuleSet( DescribeActiveReceiptRuleSetRequest describeActiveReceiptRuleSetRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(describeActiveReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<DescribeActiveReceiptRuleSetRequest> request = null; Response<DescribeActiveReceiptRuleSetResult> response = null; try { request = new DescribeActiveReceiptRuleSetRequestMarshaller() .marshall(describeActiveReceiptRuleSetRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DescribeActiveReceiptRuleSetResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Returns the details of the specified receipt rule. * </p> * <p> * For information about setting up receipt rules, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param describeReceiptRuleRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return describeReceiptRuleResult The response from the * DescribeReceiptRule service method, as returned by Amazon Simple * Email Service. * @throws RuleDoesNotExistException * @throws RuleSetDoesNotExistException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public DescribeReceiptRuleResult describeReceiptRule( DescribeReceiptRuleRequest describeReceiptRuleRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(describeReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<DescribeReceiptRuleRequest> request = null; Response<DescribeReceiptRuleResult> response = null; try { request = new DescribeReceiptRuleRequestMarshaller() .marshall(describeReceiptRuleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DescribeReceiptRuleResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Returns the details of the specified receipt rule set. * </p> * <p> * For information about managing receipt rule sets, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param describeReceiptRuleSetRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return describeReceiptRuleSetResult The response from the * DescribeReceiptRuleSet service method, as returned by Amazon * Simple Email Service. * @throws RuleSetDoesNotExistException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public DescribeReceiptRuleSetResult describeReceiptRuleSet( DescribeReceiptRuleSetRequest describeReceiptRuleSetRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(describeReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<DescribeReceiptRuleSetRequest> request = null; Response<DescribeReceiptRuleSetResult> response = null; try { request = new DescribeReceiptRuleSetRequestMarshaller() .marshall(describeReceiptRuleSetRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new DescribeReceiptRuleSetResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * 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. * </p> * <p> * This action takes a list of identities as input and returns the following * information for each: * </p> * <ul> * <li> * <p> * Whether Easy DKIM signing is enabled or disabled. * </p> * </li> * <li> * <p> * A set of DKIM tokens that represent the identity. If the identity is an * email address, the tokens represent the domain of that address. * </p> * </li> * <li> * <p> * 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. * </p> * </li> * </ul> * <p> * This action is throttled at one request per second and can only get DKIM * attributes for up to 100 identities at a time. * </p> * <p> * For more information about creating DNS records using DKIM tokens, go to * the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> * * @param getIdentityDkimAttributesRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html" * >Amazon SES Developer Guide</a>. * </p> * @return getIdentityDkimAttributesResult The response from the * GetIdentityDkimAttributes service method, as returned by Amazon * Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public GetIdentityDkimAttributesResult getIdentityDkimAttributes( GetIdentityDkimAttributesRequest getIdentityDkimAttributesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getIdentityDkimAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<GetIdentityDkimAttributesRequest> request = null; Response<GetIdentityDkimAttributesResult> response = null; try { request = new GetIdentityDkimAttributesRequestMarshaller() .marshall(getIdentityDkimAttributesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new GetIdentityDkimAttributesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Returns the custom MAIL FROM attributes for a list of identities (email * addresses and/or domains). * </p> * <p> * 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. * </p> * * @param getIdentityMailFromDomainAttributesRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html" * >Amazon SES Developer Guide</a>. * </p> * @return getIdentityMailFromDomainAttributesResult The response from the * GetIdentityMailFromDomainAttributes service method, as returned * by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public GetIdentityMailFromDomainAttributesResult getIdentityMailFromDomainAttributes( GetIdentityMailFromDomainAttributesRequest getIdentityMailFromDomainAttributesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getIdentityMailFromDomainAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<GetIdentityMailFromDomainAttributesRequest> request = null; Response<GetIdentityMailFromDomainAttributesResult> response = null; try { request = new GetIdentityMailFromDomainAttributesRequestMarshaller() .marshall(getIdentityMailFromDomainAttributesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new GetIdentityMailFromDomainAttributesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Given a list of verified identities (email addresses and/or domains), * returns a structure describing identity notification attributes. * </p> * <p> * This action is throttled at one request per second and can only get * notification attributes for up to 100 identities at a time. * </p> * <p> * For more information about using notifications with Amazon SES, see the * <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html" * >Amazon SES Developer Guide</a>. * </p> * * @param getIdentityNotificationAttributesRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html" * >Amazon SES Developer Guide</a>. * </p> * @return getIdentityNotificationAttributesResult The response from the * GetIdentityNotificationAttributes service method, as returned by * Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public GetIdentityNotificationAttributesResult getIdentityNotificationAttributes( GetIdentityNotificationAttributesRequest getIdentityNotificationAttributesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getIdentityNotificationAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<GetIdentityNotificationAttributesRequest> request = null; Response<GetIdentityNotificationAttributesResult> response = null; try { request = new GetIdentityNotificationAttributesRequestMarshaller() .marshall(getIdentityNotificationAttributesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new GetIdentityNotificationAttributesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * 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. * </p> * <note> * <p> * This API is for the identity owner only. If you have not verified the * identity, this API will return an error. * </p> * </note> * <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param getIdentityPoliciesRequest <p> * 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 <a * href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html" * >Amazon SES Developer Guide</a>. * </p> * @return getIdentityPoliciesResult The response from the * GetIdentityPolicies service method, as returned by Amazon Simple * Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public GetIdentityPoliciesResult getIdentityPolicies( GetIdentityPoliciesRequest getIdentityPoliciesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getIdentityPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<GetIdentityPoliciesRequest> request = null; Response<GetIdentityPoliciesResult> response = null; try { request = new GetIdentityPoliciesRequestMarshaller() .marshall(getIdentityPoliciesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new GetIdentityPoliciesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Given a list of identities (email addresses and/or domains), returns the * verification status and (for domain identities) the verification token * for each identity. * </p> * <p> * This action is throttled at one request per second and can only get * verification attributes for up to 100 identities at a time. * </p> * * @param getIdentityVerificationAttributesRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html" * >Amazon SES Developer Guide</a>. * </p> * @return getIdentityVerificationAttributesResult The response from the * GetIdentityVerificationAttributes service method, as returned by * Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public GetIdentityVerificationAttributesResult getIdentityVerificationAttributes( GetIdentityVerificationAttributesRequest getIdentityVerificationAttributesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getIdentityVerificationAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<GetIdentityVerificationAttributesRequest> request = null; Response<GetIdentityVerificationAttributesResult> response = null; try { request = new GetIdentityVerificationAttributesRequestMarshaller() .marshall(getIdentityVerificationAttributesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new GetIdentityVerificationAttributesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Returns the user's current sending limits. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param getSendQuotaRequest * @return getSendQuotaResult The response from the GetSendQuota service * method, as returned by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public GetSendQuotaResult getSendQuota(GetSendQuotaRequest getSendQuotaRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getSendQuotaRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<GetSendQuotaRequest> request = null; Response<GetSendQuotaResult> response = null; try { request = new GetSendQuotaRequestMarshaller().marshall(getSendQuotaRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new GetSendQuotaResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Returns the user's sending statistics. The result is a list of data * points, representing the last two weeks of sending activity. * </p> * <p> * Each data point in the list contains statistics for a 15-minute interval. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param getSendStatisticsRequest * @return getSendStatisticsResult The response from the GetSendStatistics * service method, as returned by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public GetSendStatisticsResult getSendStatistics( GetSendStatisticsRequest getSendStatisticsRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getSendStatisticsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<GetSendStatisticsRequest> request = null; Response<GetSendStatisticsResult> response = null; try { request = new GetSendStatisticsRequestMarshaller().marshall(getSendStatisticsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new GetSendStatisticsResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Returns a list containing all of the identities (email addresses and * domains) for your AWS account, regardless of verification status. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param listIdentitiesRequest <p> * 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. * </p> * @return listIdentitiesResult The response from the ListIdentities service * method, as returned by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public ListIdentitiesResult listIdentities(ListIdentitiesRequest listIdentitiesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listIdentitiesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<ListIdentitiesRequest> request = null; Response<ListIdentitiesResult> response = null; try { request = new ListIdentitiesRequestMarshaller().marshall(listIdentitiesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new ListIdentitiesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * 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 * <code>GetIdentityPolicies</code>. * </p> * <note> * <p> * This API is for the identity owner only. If you have not verified the * identity, this API will return an error. * </p> * </note> * <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param listIdentityPoliciesRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html" * >Amazon SES Developer Guide</a>. * </p> * @return listIdentityPoliciesResult The response from the * ListIdentityPolicies service method, as returned by Amazon Simple * Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public ListIdentityPoliciesResult listIdentityPolicies( ListIdentityPoliciesRequest listIdentityPoliciesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listIdentityPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<ListIdentityPoliciesRequest> request = null; Response<ListIdentityPoliciesResult> response = null; try { request = new ListIdentityPoliciesRequestMarshaller() .marshall(listIdentityPoliciesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new ListIdentityPoliciesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Lists the IP address filters associated with your AWS account. * </p> * <p> * For information about managing IP address filters, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param listReceiptFiltersRequest <p> * : 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return listReceiptFiltersResult The response from the ListReceiptFilters * service method, as returned by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public ListReceiptFiltersResult listReceiptFilters( ListReceiptFiltersRequest listReceiptFiltersRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listReceiptFiltersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<ListReceiptFiltersRequest> request = null; Response<ListReceiptFiltersResult> response = null; try { request = new ListReceiptFiltersRequestMarshaller().marshall(listReceiptFiltersRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new ListReceiptFiltersResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * 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 * <code>NextToken</code> that you can provide to the next call to * <code>ListReceiptRuleSets</code> to retrieve the additional entries. * </p> * <p> * For information about managing receipt rule sets, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param listReceiptRuleSetsRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return listReceiptRuleSetsResult The response from the * ListReceiptRuleSets service method, as returned by Amazon Simple * Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public ListReceiptRuleSetsResult listReceiptRuleSets( ListReceiptRuleSetsRequest listReceiptRuleSetsRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listReceiptRuleSetsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<ListReceiptRuleSetsRequest> request = null; Response<ListReceiptRuleSetsResult> response = null; try { request = new ListReceiptRuleSetsRequestMarshaller() .marshall(listReceiptRuleSetsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new ListReceiptRuleSetsResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Returns a list containing all of the email addresses that have been * verified. * </p> * <important> * <p> * The ListVerifiedEmailAddresses action is deprecated as of the May 15, * 2012 release of Domain Verification. The ListIdentities action is now * preferred. * </p> * </important> * <p> * This action is throttled at one request per second. * </p> * * @param listVerifiedEmailAddressesRequest * @return listVerifiedEmailAddressesResult The response from the * ListVerifiedEmailAddresses service method, as returned by Amazon * Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public ListVerifiedEmailAddressesResult listVerifiedEmailAddresses( ListVerifiedEmailAddressesRequest listVerifiedEmailAddressesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listVerifiedEmailAddressesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<ListVerifiedEmailAddressesRequest> request = null; Response<ListVerifiedEmailAddressesResult> response = null; try { request = new ListVerifiedEmailAddressesRequestMarshaller() .marshall(listVerifiedEmailAddressesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new ListVerifiedEmailAddressesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Adds or updates a sending authorization policy for the specified identity * (an email address or a domain). * </p> * <note> * <p> * This API is for the identity owner only. If you have not verified the * identity, this API will return an error. * </p> * </note> * <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param putIdentityPolicyRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html" * >Amazon SES Developer Guide</a>. * </p> * @return putIdentityPolicyResult The response from the PutIdentityPolicy * service method, as returned by Amazon Simple Email Service. * @throws InvalidPolicyException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public PutIdentityPolicyResult putIdentityPolicy( PutIdentityPolicyRequest putIdentityPolicyRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(putIdentityPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<PutIdentityPolicyRequest> request = null; Response<PutIdentityPolicyResult> response = null; try { request = new PutIdentityPolicyRequestMarshaller().marshall(putIdentityPolicyRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new PutIdentityPolicyResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Reorders the receipt rules within a receipt rule set. * </p> * <note> * <p> * 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. * </p> * </note> * <p> * For information about managing receipt rule sets, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param reorderReceiptRuleSetRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return reorderReceiptRuleSetResult The response from the * ReorderReceiptRuleSet service method, as returned by Amazon * Simple Email Service. * @throws RuleSetDoesNotExistException * @throws RuleDoesNotExistException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public ReorderReceiptRuleSetResult reorderReceiptRuleSet( ReorderReceiptRuleSetRequest reorderReceiptRuleSetRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(reorderReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<ReorderReceiptRuleSetRequest> request = null; Response<ReorderReceiptRuleSetResult> response = null; try { request = new ReorderReceiptRuleSetRequestMarshaller() .marshall(reorderReceiptRuleSetRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new ReorderReceiptRuleSetResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * 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. * </p> * <note> * <p> * You cannot use this API to send generic bounces for mail that was not * received by Amazon SES. * </p> * </note> * <p> * For information about receiving email through Amazon SES, see the <a * href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param sendBounceRequest <p> * Represents a request to send a bounce message to the sender of * an email you received through Amazon SES. * </p> * @return sendBounceResult The response from the SendBounce service method, * as returned by Amazon Simple Email Service. * @throws MessageRejectedException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public SendBounceResult sendBounce(SendBounceRequest sendBounceRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(sendBounceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<SendBounceRequest> request = null; Response<SendBounceResult> response = null; try { request = new SendBounceRequestMarshaller().marshall(sendBounceRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new SendBounceResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Composes an email message based on input data, and then immediately * queues the message for sending. * </p> * <p> * There are several important points to know about <code>SendEmail</code>: * </p> * <ul> * <li> * <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html" * >Amazon SES Developer Guide</a>. * </p> * </li> * <li> * <p> * The total size of the message cannot exceed 10 MB. This includes any * attachments that are part of the message. * </p> * </li> * <li> * <p> * 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. * </p> * </li> * <li> * <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html" * >Amazon SES Developer Guide</a>. * </p> * </li> * </ul> * * @param sendEmailRequest <p> * Represents a request to send a single formatted email using * Amazon SES. For more information, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-formatted.html" * >Amazon SES Developer Guide</a>. * </p> * @return sendEmailResult The response from the SendEmail service method, * as returned by Amazon Simple Email Service. * @throws MessageRejectedException * @throws MailFromDomainNotVerifiedException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public SendEmailResult sendEmail(SendEmailRequest sendEmailRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(sendEmailRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<SendEmailRequest> request = null; Response<SendEmailResult> response = null; try { request = new SendEmailRequestMarshaller().marshall(sendEmailRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new SendEmailResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Sends an email message, with header and content specified by the client. * The <code>SendRawEmail</code> 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. * </p> * <p> * There are several important points to know about * <code>SendRawEmail</code>: * </p> * <ul> * <li> * <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html" * >Amazon SES Developer Guide</a>. * </p> * </li> * <li> * <p> * The total size of the message cannot exceed 10 MB. This includes any * attachments that are part of the message. * </p> * </li> * <li> * <p> * 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. * </p> * </li> * <li> * <p> * 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. * </p> * </li> * <li> * <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html" * >Amazon SES Developer Guide</a>. * </p> * </li> * <li> * <p> * If you are using sending authorization to send on behalf of another user, * <code>SendRawEmail</code> 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 * <code>SourceArn</code>, <code>FromArn</code>, and/or * <code>ReturnPathArn</code> to the API, or you can include the following * X-headers in the header of your raw email: * </p> * <ul> * <li> * <p> * <code>X-SES-SOURCE-ARN</code> * </p> * </li> * <li> * <p> * <code>X-SES-FROM-ARN</code> * </p> * </li> * <li> * <p> * <code>X-SES-RETURN-PATH-ARN</code> * </p> * </li> * </ul> * <important> * <p> * Do not include these X-headers in the DKIM signature, because they are * removed by Amazon SES before sending the email. * </p> * </important> * <p> * For the most common sending authorization use case, we recommend that you * specify the <code>SourceIdentityArn</code> and do not specify either the * <code>FromIdentityArn</code> or <code>ReturnPathIdentityArn</code>. (The * same note applies to the corresponding X-headers.) If you only specify * the <code>SourceIdentityArn</code>, Amazon SES will simply set the "From" * address and the "Return Path" address to the identity specified in * <code>SourceIdentityArn</code>. For more information about sending * authorization, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html" * >Amazon SES Developer Guide</a>. * </p> * </li> * </ul> * * @param sendRawEmailRequest <p> * Represents a request to send a single raw email using Amazon * SES. For more information, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html" * >Amazon SES Developer Guide</a>. * </p> * @return sendRawEmailResult The response from the SendRawEmail service * method, as returned by Amazon Simple Email Service. * @throws MessageRejectedException * @throws MailFromDomainNotVerifiedException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public SendRawEmailResult sendRawEmail(SendRawEmailRequest sendRawEmailRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(sendRawEmailRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<SendRawEmailRequest> request = null; Response<SendRawEmailResult> response = null; try { request = new SendRawEmailRequestMarshaller().marshall(sendRawEmailRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new SendRawEmailResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Sets the specified receipt rule set as the active receipt rule set. * </p> * <note> * <p> * To disable your email-receiving through Amazon SES completely, you can * call this API with RuleSetName set to null. * </p> * </note> * <p> * For information about managing receipt rule sets, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param setActiveReceiptRuleSetRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return setActiveReceiptRuleSetResult The response from the * SetActiveReceiptRuleSet service method, as returned by Amazon * Simple Email Service. * @throws RuleSetDoesNotExistException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public SetActiveReceiptRuleSetResult setActiveReceiptRuleSet( SetActiveReceiptRuleSetRequest setActiveReceiptRuleSetRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(setActiveReceiptRuleSetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<SetActiveReceiptRuleSetRequest> request = null; Response<SetActiveReceiptRuleSetResult> response = null; try { request = new SetActiveReceiptRuleSetRequestMarshaller() .marshall(setActiveReceiptRuleSetRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new SetActiveReceiptRuleSetResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Enables or disables Easy DKIM signing of email sent from an identity: * </p> * <ul> * <li> * <p> * If Easy DKIM signing is enabled for a domain name identity (e.g., * <code>example.com</code>), then Amazon SES will DKIM-sign all email sent * by addresses under that domain name (e.g., <code>user@example.com</code> * ). * </p> * </li> * <li> * <p> * If Easy DKIM signing is enabled for an email address, then Amazon SES * will DKIM-sign all email sent by that email address. * </p> * </li> * </ul> * <p> * For email addresses (e.g., <code>user@example.com</code>), you can only * enable Easy DKIM signing if the corresponding domain (e.g., * <code>example.com</code>) has been set up for Easy DKIM using the AWS * Console or the <code>VerifyDomainDkim</code> action. * </p> * <p> * This action is throttled at one request per second. * </p> * <p> * For more information about Easy DKIM signing, go to the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html" * >Amazon SES Developer Guide</a>. * </p> * * @param setIdentityDkimEnabledRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html" * >Amazon SES Developer Guide</a>. * </p> * @return setIdentityDkimEnabledResult The response from the * SetIdentityDkimEnabled service method, as returned by Amazon * Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public SetIdentityDkimEnabledResult setIdentityDkimEnabled( SetIdentityDkimEnabledRequest setIdentityDkimEnabledRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(setIdentityDkimEnabledRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<SetIdentityDkimEnabledRequest> request = null; Response<SetIdentityDkimEnabledResult> response = null; try { request = new SetIdentityDkimEnabledRequestMarshaller() .marshall(setIdentityDkimEnabledRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new SetIdentityDkimEnabledResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * 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. * </p> * <note> * <p> * Feedback forwarding does not apply to delivery notifications. Delivery * notifications are only available through Amazon SNS. * </p> * </note> * <p> * This action is throttled at one request per second. * </p> * <p> * For more information about using notifications with Amazon SES, see the * <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html" * >Amazon SES Developer Guide</a>. * </p> * * @param setIdentityFeedbackForwardingEnabledRequest <p> * 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 <a * href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-email.html" * >Amazon SES Developer Guide</a>. * </p> * @return setIdentityFeedbackForwardingEnabledResult The response from the * SetIdentityFeedbackForwardingEnabled service method, as returned * by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public SetIdentityFeedbackForwardingEnabledResult setIdentityFeedbackForwardingEnabled( SetIdentityFeedbackForwardingEnabledRequest setIdentityFeedbackForwardingEnabledRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(setIdentityFeedbackForwardingEnabledRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<SetIdentityFeedbackForwardingEnabledRequest> request = null; Response<SetIdentityFeedbackForwardingEnabledResult> response = null; try { request = new SetIdentityFeedbackForwardingEnabledRequestMarshaller() .marshall(setIdentityFeedbackForwardingEnabledRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new SetIdentityFeedbackForwardingEnabledResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * 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. * </p> * <p> * This action is throttled at one request per second. * </p> * <p> * For more information about using notifications with Amazon SES, see the * <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html" * >Amazon SES Developer Guide</a>. * </p> * * @param setIdentityHeadersInNotificationsEnabledRequest <p> * 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 * <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-sns.html" * >Amazon SES Developer Guide</a>. * </p> * @return setIdentityHeadersInNotificationsEnabledResult The response from * the SetIdentityHeadersInNotificationsEnabled service method, as * returned by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public SetIdentityHeadersInNotificationsEnabledResult setIdentityHeadersInNotificationsEnabled( SetIdentityHeadersInNotificationsEnabledRequest setIdentityHeadersInNotificationsEnabledRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(setIdentityHeadersInNotificationsEnabledRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<SetIdentityHeadersInNotificationsEnabledRequest> request = null; Response<SetIdentityHeadersInNotificationsEnabledResult> response = null; try { request = new SetIdentityHeadersInNotificationsEnabledRequestMarshaller() .marshall(setIdentityHeadersInNotificationsEnabledRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new SetIdentityHeadersInNotificationsEnabledResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Enables or disables the custom MAIL FROM domain setup for a verified * identity (an email address or a domain). * </p> * <important> * <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-set.html" * >Amazon SES Developer Guide</a>. * </p> * </important> * <p> * This action is throttled at one request per second. * </p> * * @param setIdentityMailFromDomainRequest <p> * 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 <a * href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html" * >Amazon SES Developer Guide</a>. * </p> * @return setIdentityMailFromDomainResult The response from the * SetIdentityMailFromDomain service method, as returned by Amazon * Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public SetIdentityMailFromDomainResult setIdentityMailFromDomain( SetIdentityMailFromDomainRequest setIdentityMailFromDomainRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(setIdentityMailFromDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<SetIdentityMailFromDomainRequest> request = null; Response<SetIdentityMailFromDomainResult> response = null; try { request = new SetIdentityMailFromDomainRequestMarshaller() .marshall(setIdentityMailFromDomainRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new SetIdentityMailFromDomainResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * 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 <code>Source</code>. * </p> * <note> * <p> * Unless feedback forwarding is enabled, you must specify Amazon SNS topics * for bounce and complaint notifications. For more information, see * <code>SetIdentityFeedbackForwardingEnabled</code>. * </p> * </note> * <p> * This action is throttled at one request per second. * </p> * <p> * For more information about feedback notification, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html" * >Amazon SES Developer Guide</a>. * </p> * * @param setIdentityNotificationTopicRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-sns.html" * >Amazon SES Developer Guide</a>. * </p> * @return setIdentityNotificationTopicResult The response from the * SetIdentityNotificationTopic service method, as returned by * Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public SetIdentityNotificationTopicResult setIdentityNotificationTopic( SetIdentityNotificationTopicRequest setIdentityNotificationTopicRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(setIdentityNotificationTopicRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<SetIdentityNotificationTopicRequest> request = null; Response<SetIdentityNotificationTopicResult> response = null; try { request = new SetIdentityNotificationTopicRequestMarshaller() .marshall(setIdentityNotificationTopicRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new SetIdentityNotificationTopicResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Sets the position of the specified receipt rule in the receipt rule set. * </p> * <p> * For information about managing receipt rules, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param setReceiptRulePositionRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return setReceiptRulePositionResult The response from the * SetReceiptRulePosition service method, as returned by Amazon * Simple Email Service. * @throws RuleSetDoesNotExistException * @throws RuleDoesNotExistException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public SetReceiptRulePositionResult setReceiptRulePosition( SetReceiptRulePositionRequest setReceiptRulePositionRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(setReceiptRulePositionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<SetReceiptRulePositionRequest> request = null; Response<SetReceiptRulePositionResult> response = null; try { request = new SetReceiptRulePositionRequestMarshaller() .marshall(setReceiptRulePositionRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new SetReceiptRulePositionResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Updates a receipt rule. * </p> * <p> * For information about managing receipt rules, see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html" * >Amazon SES Developer Guide</a>. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param updateReceiptRuleRequest <p> * Represents a request to update a receipt rule. You use receipt * rules to receive email with Amazon SES. For more information, * see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html" * >Amazon SES Developer Guide</a>. * </p> * @return updateReceiptRuleResult The response from the UpdateReceiptRule * service method, as returned by Amazon Simple Email Service. * @throws InvalidSnsTopicException * @throws InvalidS3ConfigurationException * @throws InvalidLambdaFunctionException * @throws RuleSetDoesNotExistException * @throws RuleDoesNotExistException * @throws LimitExceededException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public UpdateReceiptRuleResult updateReceiptRule( UpdateReceiptRuleRequest updateReceiptRuleRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(updateReceiptRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<UpdateReceiptRuleRequest> request = null; Response<UpdateReceiptRuleResult> response = null; try { request = new UpdateReceiptRuleRequestMarshaller().marshall(updateReceiptRuleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new UpdateReceiptRuleResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Returns a set of DKIM tokens for a domain. DKIM <i>tokens</i> 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. * </p> * <p> * This action is throttled at one request per second. * </p> * <p> * To enable or disable Easy DKIM signing for a domain, use the * <code>SetIdentityDkimEnabled</code> action. * </p> * <p> * For more information about creating DNS records using DKIM tokens, go to * the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html" * >Amazon SES Developer Guide</a>. * </p> * * @param verifyDomainDkimRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html" * >Amazon SES Developer Guide</a>. * </p> * @return verifyDomainDkimResult The response from the VerifyDomainDkim * service method, as returned by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public VerifyDomainDkimResult verifyDomainDkim(VerifyDomainDkimRequest verifyDomainDkimRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(verifyDomainDkimRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<VerifyDomainDkimRequest> request = null; Response<VerifyDomainDkimResult> response = null; try { request = new VerifyDomainDkimRequestMarshaller().marshall(verifyDomainDkimRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new VerifyDomainDkimResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Verifies a domain. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param verifyDomainIdentityRequest <p> * 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 <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html" * >Amazon SES Developer Guide</a>. * </p> * @return verifyDomainIdentityResult The response from the * VerifyDomainIdentity service method, as returned by Amazon Simple * Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public VerifyDomainIdentityResult verifyDomainIdentity( VerifyDomainIdentityRequest verifyDomainIdentityRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(verifyDomainIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<VerifyDomainIdentityRequest> request = null; Response<VerifyDomainIdentityResult> response = null; try { request = new VerifyDomainIdentityRequestMarshaller() .marshall(verifyDomainIdentityRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new VerifyDomainIdentityResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Verifies an email address. This action causes a confirmation email * message to be sent to the specified address. * </p> * <important> * <p> * The VerifyEmailAddress action is deprecated as of the May 15, 2012 * release of Domain Verification. The VerifyEmailIdentity action is now * preferred. * </p> * </important> * <p> * This action is throttled at one request per second. * </p> * * @param verifyEmailAddressRequest <p> * Represents a request to begin email address verification with * Amazon SES. For information about email address verification, * see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html" * >Amazon SES Developer Guide</a>. * </p> * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public void verifyEmailAddress(VerifyEmailAddressRequest verifyEmailAddressRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(verifyEmailAddressRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<VerifyEmailAddressRequest> request = null; Response<Void> response = null; try { request = new VerifyEmailAddressRequestMarshaller().marshall(verifyEmailAddressRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Verifies an email address. This action causes a confirmation email * message to be sent to the specified address. * </p> * <p> * This action is throttled at one request per second. * </p> * * @param verifyEmailIdentityRequest <p> * Represents a request to begin email address verification with * Amazon SES. For information about email address verification, * see the <a href= * "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html" * >Amazon SES Developer Guide</a>. * </p> * @return verifyEmailIdentityResult The response from the * VerifyEmailIdentity service method, as returned by Amazon Simple * Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public VerifyEmailIdentityResult verifyEmailIdentity( VerifyEmailIdentityRequest verifyEmailIdentityRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(verifyEmailIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request<VerifyEmailIdentityRequest> request = null; Response<VerifyEmailIdentityResult> response = null; try { request = new VerifyEmailIdentityRequestMarshaller() .marshall(verifyEmailIdentityRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); response = invoke(request, new VerifyEmailIdentityResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * <p> * Returns a list containing all of the email addresses that have been * verified. * </p> * <important> * <p> * The ListVerifiedEmailAddresses action is deprecated as of the May 15, * 2012 release of Domain Verification. The ListIdentities action is now * preferred. * </p> * </important> * <p> * This action is throttled at one request per second. * </p> * * @return listVerifiedEmailAddressesResult The response from the * ListVerifiedEmailAddresses service method, as returned by Amazon * Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public ListVerifiedEmailAddressesResult listVerifiedEmailAddresses() throws AmazonServiceException, AmazonClientException { ListVerifiedEmailAddressesRequest listVerifiedEmailAddressesRequest = new ListVerifiedEmailAddressesRequest(); return listVerifiedEmailAddresses(listVerifiedEmailAddressesRequest); } /** * <p> * Returns the user's sending statistics. The result is a list of data * points, representing the last two weeks of sending activity. * </p> * <p> * Each data point in the list contains statistics for a 15-minute interval. * </p> * <p> * This action is throttled at one request per second. * </p> * * @return getSendStatisticsResult The response from the GetSendStatistics * service method, as returned by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public GetSendStatisticsResult getSendStatistics() throws AmazonServiceException, AmazonClientException { GetSendStatisticsRequest getSendStatisticsRequest = new GetSendStatisticsRequest(); return getSendStatistics(getSendStatisticsRequest); } /** * <p> * Returns a list containing all of the identities (email addresses and * domains) for your AWS account, regardless of verification status. * </p> * <p> * This action is throttled at one request per second. * </p> * * @return listIdentitiesResult The response from the ListIdentities service * method, as returned by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public ListIdentitiesResult listIdentities() throws AmazonServiceException, AmazonClientException { ListIdentitiesRequest listIdentitiesRequest = new ListIdentitiesRequest(); return listIdentities(listIdentitiesRequest); } /** * <p> * Returns the user's current sending limits. * </p> * <p> * This action is throttled at one request per second. * </p> * * @return getSendQuotaResult The response from the GetSendQuota service * method, as returned by Amazon Simple Email Service. * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Simple Email Service indicating either a problem with the * data in the request, or a server side issue. */ public GetSendQuotaResult getSendQuota() throws AmazonServiceException, AmazonClientException { GetSendQuotaRequest getSendQuotaRequest = new GetSendQuotaRequest(); return getSendQuota(getSendQuotaRequest); } /** * 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. * <p> * 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. * @deprecated ResponseMetadata cache can hold up to 50 requests and * responses in memory and will cause memory issue. This method * now always returns null. */ @Deprecated public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } private <X, Y extends AmazonWebServiceRequest> Response<X> invoke(Request<Y> request, Unmarshaller<X, StaxUnmarshallerContext> unmarshaller, ExecutionContext executionContext) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); AmazonWebServiceRequest originalRequest = request.getOriginalRequest(); AWSCredentials credentials = awsCredentialsProvider.getCredentials(); if (originalRequest.getRequestCredentials() != null) { credentials = originalRequest.getRequestCredentials(); } executionContext.setCredentials(credentials); StaxResponseHandler<X> responseHandler = new StaxResponseHandler<X>(unmarshaller); DefaultErrorResponseHandler errorResponseHandler = new DefaultErrorResponseHandler( exceptionUnmarshallers); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } }