<!--Generated by WRITEME on 2023-11-01 14:39:38.911259 (UTC)-->
# Amazon SES code examples for the SDK for C++

## Overview

Shows how to use the AWS SDK for C++ to work with Amazon Simple Email Service (Amazon SES).

<!--custom.overview.start-->
<!--custom.overview.end-->

*Amazon SES is a reliable, scalable, and cost-effective email service.*

## ⚠ Important

* Running this code might result in charges to your AWS account. For more details, see [AWS Pricing](https://aws.amazon.com/pricing/?aws-products-pricing.sort-by=item.additionalFields.productNameLowercase&aws-products-pricing.sort-order=asc&awsf.Free%20Tier%20Type=*all&awsf.tech-category=*all) and [Free Tier](https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all).
* Running the tests might result in charges to your AWS account.
* We recommend that you grant your code least privilege. At most, grant only the minimum permissions required to perform the task. For more information, see [Grant least privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
* This code is not tested in every AWS Region. For more information, see [AWS Regional Services](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services).

<!--custom.important.start-->
<!--custom.important.end-->

## Code examples

### Prerequisites



Before using the code examples, first complete the installation and setup steps
for [Getting started](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/getting-started.html) in the AWS SDK for
C++ Developer Guide.
This section covers how to get and build the SDK, and how to build your own code by using the SDK with a
sample Hello World-style application.

Next, for information on code example structures and how to build and run the examples, see [Getting started with the AWS SDK for C++ code examples](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/getting-started-code-examples.html).


<!--custom.prerequisites.start-->
<!--custom.prerequisites.end-->

### Single actions

Code excerpts that show you how to call individual service functions.

* [Create a receipt filter](create_receipt_filter.cpp#L26) (`CreateReceiptFilter`)
* [Create a receipt rule](create_receipt_rule.cpp#L27) (`CreateReceiptRule`)
* [Create a receipt rule set](create_receipt_rule_set.cpp#L23) (`CreateReceiptRuleSet`)
* [Create an email template](create_template.cpp#L24) (`CreateTemplate`)
* [Delete a receipt filter](delete_receipt_filter.cpp#L23) (`DeleteReceiptFilter`)
* [Delete a receipt rule](delete_receipt_rule.cpp#L23) (`DeleteReceiptRule`)
* [Delete a rule set](delete_receipt_rule_set.cpp#L23) (`DeleteReceiptRuleSet`)
* [Delete an email template](delete_template.cpp#L23) (`DeleteTemplate`)
* [Delete an identity](delete_identity.cpp#L23) (`DeleteIdentity`)
* [Get an existing email template](get_template.cpp#L24) (`GetTemplate`)
* [List identities](list_identities.cpp#L23) (`ListIdentities`)
* [List receipt filters](list_receipt_filters.cpp#L24) (`ListReceiptFilters`)
* [Send email](send_email.cpp#L28) (`SendEmail`)
* [Send templated email](send_templated_email.cpp#L25) (`SendTemplatedEmail`)
* [Update an email template](update_template.cpp#L24) (`UpdateTemplate`)
* [Verify an email identity](verify_email_identity.cpp#L23) (`VerifyEmailIdentity`)

### Cross-service examples

Sample applications that work across multiple AWS services.

* [Create an Aurora Serverless work item tracker](../../example_code/cross-service/serverless-aurora)

## Run the examples

### Instructions



An executable is built for each source file. These executables are located in the build folder and have
"run_" prepended to the source file name, minus the suffix. See the "main" function in the source file for further instructions.

For example, to run the action in the source file "my_action.cpp", execute the following command from within the build folder. The command
will display any required arguments.

```
./run_my_action
```
<!--custom.instructions.start-->
<!--custom.instructions.end-->



### Tests

⚠ Running tests might result in charges to your AWS account.



```sh
   cd <BUILD_DIR>
   cmake <path-to-root-of-this-source-code> -DBUILD_TESTS=ON
   make
   ctest
```


<!--custom.tests.start-->
<!--custom.tests.end-->

## Additional resources

* [Amazon SES Developer Guide](https://docs.aws.amazon.com/ses/latest/dg/Welcome.html)
* [Amazon SES API Reference](https://docs.aws.amazon.com/ses/latest/APIReference/Welcome.html)
* [SDK for C++ Amazon SES reference](https://sdk.amazonaws.com/cpp/api/LATEST/aws-cpp-sdk-email/html/annotated.html)

<!--custom.resources.start-->
<!--custom.resources.end-->

---

Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0