Generate SES smtp credentials for a given user and store the credentials in a SecretsManager Secret.
Project description
AWS CDK Ses Smtp Credentials
Generate SES smtp credentials for a user and store the credentials in a SecretsManager Secret.
Install
TypeScript
npm install @pepperize/cdk-ses-smtp-credentials
or
yarn add @pepperize/cdk-ses-smtp-credentials
Python
pip install pepperize.cdk-ses-smtp-credentials
C# / .Net
dotnet add package Pepperize.CDK.SesSmtpCredentials
Java
<dependency>
<groupId>com.pepperize</groupId>
<artifactId>cdk-ses-smtp-credentials</artifactId>
<version>${cdkSesSmtpCredentials.version}</version>
</dependency>
Usage
npm install @pepperize/cdk-ses-smtp-credentials
See API.md.
Create AWS SES Smtp Credentials for a given user
Attaches an inline policy to the user allowing to send emails
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: "<the generated access key id>", password: "<the calculated ses smtp password>"}
See API Reference - SesSmtpCredentials
Create AWS SES Smtp Credentials and create a new user
Attaches an inline policy to the user allowing to send emails
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: "<the generated access key id>", password: "<the calculated ses smtp password>"}
See API Reference - SesSmtpCredentials
Calculate the AWS SES Smtp password on your own
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pepperize.cdk-ses-smtp-credentials-0.3.608.tar.gz.
File metadata
- Download URL: pepperize.cdk-ses-smtp-credentials-0.3.608.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f70d7b4a90b34cbbbb0717b789d4e5d7b770edc9f82b4e6b3e401a4c09f3906
|
|
| MD5 |
6814621633f059808cd013e146382e31
|
|
| BLAKE2b-256 |
dac381f401773f9974c0503794e9fc31d51b6f983465f398048667ef786430bf
|
File details
Details for the file pepperize.cdk_ses_smtp_credentials-0.3.608-py3-none-any.whl.
File metadata
- Download URL: pepperize.cdk_ses_smtp_credentials-0.3.608-py3-none-any.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c449d4ffa1b82b1482cf1c1acffd2df8d85fdefdcc4a2bcb609edec4cc57053
|
|
| MD5 |
4e0372543f3a13ec5291254112d67c13
|
|
| BLAKE2b-256 |
206d384bc9f900af03a6c3abb22380c9b58e52e7781da6c942a5d28f17d1ab4a
|