/*
* 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);
}
}