https://github.com/pepperize/cdk-ses-smtp-credentials
Generate SES smtp credentials for a given user and store the credentials in a SecretsManager Secret.
https://github.com/pepperize/cdk-ses-smtp-credentials
aws cdk credentials secret ses smtp
Last synced: about 2 months ago
JSON representation
Generate SES smtp credentials for a given user and store the credentials in a SecretsManager Secret.
- Host: GitHub
- URL: https://github.com/pepperize/cdk-ses-smtp-credentials
- Owner: pepperize
- License: mit
- Created: 2021-11-28T12:03:40.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-08-07T22:34:50.000Z (3 months ago)
- Last Synced: 2025-08-08T20:55:51.616Z (3 months ago)
- Topics: aws, cdk, credentials, secret, ses, smtp
- Language: TypeScript
- Homepage:
- Size: 6 MB
- Stars: 18
- Watchers: 2
- Forks: 5
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://makeapullrequest.com)
[](https://github.com/pepperize/cdk-ses-smtp-credentials/blob/main/LICENSE)
[](https://www.npmjs.com/package/@pepperize/cdk-ses-smtp-credentials)
[](https://pypi.org/project/pepperize.cdk-ses-smtp-credentials/)
[](https://www.nuget.org/packages/Pepperize.CDK.SesSmtpCredentials/)
[](https://s01.oss.sonatype.org/content/repositories/releases/com/pepperize/cdk-ses-smtp-credentials/)
[](https://github.com/pepperize/cdk-ses-smtp-credentials/actions/workflows/release.yml)
[](https://github.com/pepperize/cdk-ses-smtp-credentials/releases)
[](https://gitpod.io/#https://github.com/pepperize/cdk-ses-smtp-credentials)# AWS CDK Ses Smtp Credentials
Generate SES smtp credentials for a user and store the credentials in a SecretsManager Secret.
[](https://constructs.dev/packages/@pepperize/cdk-ses-smtp-credentials)
## Install
### TypeScript
```shell
npm install @pepperize/cdk-ses-smtp-credentials
```or
```shell
yarn add @pepperize/cdk-ses-smtp-credentials
```### Python
```shell
pip install pepperize.cdk-ses-smtp-credentials
```### C# / .Net
```
dotnet add package Pepperize.CDK.SesSmtpCredentials
```### Java
```xml
com.pepperize
cdk-ses-smtp-credentials
${cdkSesSmtpCredentials.version}```
## Usage
```shell
npm install @pepperize/cdk-ses-smtp-credentials
```See [API.md](https://github.com/pepperize/cdk-ses-smtp-credentials/blob/main/API.md).
### Create AWS SES Smtp Credentials for a given user
> Attaches an inline policy to the user allowing to send emails
```typescript
import { User } from "@aws-cdk/aws-iam";
import { SesSmtpCredentials } from "@pepperize/cdk-ses-smtp-credentials";const user = new User(stack, "SesUser", {
userName: "ses-user",
});
const smtpCredentials = new SesSmtpCredentials(this, "SmtpCredentials", {
user: user,
});// smtpCredentials.secret contains json value {username: "", password: ""}
```See [API Reference - SesSmtpCredentials](https://github.com/pepperize/cdk-ses-smtp-credentials/blob/main/API.md#sessmtpcredentials-)
### Create AWS SES Smtp Credentials and create a new user
> Attaches an inline policy to the user allowing to send emails
```typescript
import { User } from "@aws-cdk/aws-iam";
import { SesSmtpCredentials } from "@pepperize/cdk-ses-smtp-credentials";const smtpCredentials = new SesSmtpCredentials(this, "SmtpCredentials", {
userName: "ses-user",
});// smtpCredentials.secret contains json value {username: "", password: ""}
```See [API Reference - SesSmtpCredentials](https://github.com/pepperize/cdk-ses-smtp-credentials/blob/main/API.md#sessmtpcredentials-)
### Calculate the AWS SES Smtp password on your own
```typescript
import * as AWS from "aws-sdk";
import { calculateSesSmtpPassword } from "@pepperize/cdk-ses-smtp-credentials";const iam = new AWS.IAM();
const accessKey = await iam
.createAccessKey({
UserName: username,
})
.promise();
const accessKeyId = accessKey.AccessKey.AccessKeyId;
const secretAccessKey = accessKey.AccessKey.SecretAccessKey;const password = calculateSesSmtpPassword(secretAccessKey, "us-east-1");
console.log({
username: accessKeyId,
password: password,
});
```See [Obtaining Amazon SES SMTP credentials by converting existing AWS credentials](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html#smtp-credentials-convert)