{"id":21127287,"url":"https://github.com/pepperize/cdk-ses-smtp-credentials","last_synced_at":"2025-08-30T14:12:17.827Z","repository":{"id":37056075,"uuid":"432700767","full_name":"pepperize/cdk-ses-smtp-credentials","owner":"pepperize","description":"Generate SES smtp credentials for a given user and store the credentials in a SecretsManager Secret.","archived":false,"fork":false,"pushed_at":"2025-08-07T22:34:50.000Z","size":6294,"stargazers_count":18,"open_issues_count":8,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-08T20:55:51.616Z","etag":null,"topics":["aws","cdk","credentials","secret","ses","smtp"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pepperize.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-11-28T12:03:40.000Z","updated_at":"2025-06-24T00:36:47.000Z","dependencies_parsed_at":"2022-07-10T02:46:14.524Z","dependency_job_id":"281528df-9b71-4c1a-94f8-030004973249","html_url":"https://github.com/pepperize/cdk-ses-smtp-credentials","commit_stats":{"total_commits":1638,"total_committers":7,"mean_commits":234.0,"dds":"0.16666666666666663","last_synced_commit":"a017ed8548fc75d254376102f41db0b840b85bb7"},"previous_names":[],"tags_count":1520,"template":false,"template_full_name":null,"purl":"pkg:github/pepperize/cdk-ses-smtp-credentials","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepperize%2Fcdk-ses-smtp-credentials","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepperize%2Fcdk-ses-smtp-credentials/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepperize%2Fcdk-ses-smtp-credentials/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepperize%2Fcdk-ses-smtp-credentials/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pepperize","download_url":"https://codeload.github.com/pepperize/cdk-ses-smtp-credentials/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepperize%2Fcdk-ses-smtp-credentials/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272858542,"owners_count":25005092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cdk","credentials","secret","ses","smtp"],"created_at":"2024-11-20T04:48:08.757Z","updated_at":"2025-08-30T14:12:17.805Z","avatar_url":"https://github.com/pepperize.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://makeapullrequest.com)\n[![GitHub](https://img.shields.io/github/license/pepperize/cdk-ses-smtp-credentials?style=flat-square)](https://github.com/pepperize/cdk-ses-smtp-credentials/blob/main/LICENSE)\n[![npm (scoped)](https://img.shields.io/npm/v/@pepperize/cdk-ses-smtp-credentials?style=flat-square)](https://www.npmjs.com/package/@pepperize/cdk-ses-smtp-credentials)\n[![PyPI](https://img.shields.io/pypi/v/pepperize.cdk-ses-smtp-credentials?style=flat-square)](https://pypi.org/project/pepperize.cdk-ses-smtp-credentials/)\n[![Nuget](https://img.shields.io/nuget/v/Pepperize.CDK.SesSmtpCredentials?style=flat-square)](https://www.nuget.org/packages/Pepperize.CDK.SesSmtpCredentials/)\n[![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/com.pepperize/cdk-ses-smtp-credentials?server=https%3A%2F%2Fs01.oss.sonatype.org%2F\u0026style=flat-square)](https://s01.oss.sonatype.org/content/repositories/releases/com/pepperize/cdk-ses-smtp-credentials/)\n[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/pepperize/cdk-ses-smtp-credentials/release.yml?branch=main\u0026label=release\u0026style=flat-square)](https://github.com/pepperize/cdk-ses-smtp-credentials/actions/workflows/release.yml)\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/pepperize/cdk-ses-smtp-credentials?sort=semver\u0026style=flat-square)](https://github.com/pepperize/cdk-ses-smtp-credentials/releases)\n[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\u0026style=flat-square)](https://gitpod.io/#https://github.com/pepperize/cdk-ses-smtp-credentials)\n\n# AWS CDK Ses Smtp Credentials\n\nGenerate SES smtp credentials for a user and store the credentials in a SecretsManager Secret.\n\n[![View on Construct Hub](https://constructs.dev/badge?package=%40pepperize%2Fcdk-ses-smtp-credentials)](https://constructs.dev/packages/@pepperize/cdk-ses-smtp-credentials)\n\n## Install\n\n### TypeScript\n\n```shell\nnpm install @pepperize/cdk-ses-smtp-credentials\n```\n\nor\n\n```shell\nyarn add @pepperize/cdk-ses-smtp-credentials\n```\n\n### Python\n\n```shell\npip install pepperize.cdk-ses-smtp-credentials\n```\n\n### C# / .Net\n\n```\ndotnet add package Pepperize.CDK.SesSmtpCredentials\n```\n\n### Java\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.pepperize\u003c/groupId\u003e\n  \u003cartifactId\u003ecdk-ses-smtp-credentials\u003c/artifactId\u003e\n  \u003cversion\u003e${cdkSesSmtpCredentials.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Usage\n\n```shell\nnpm install @pepperize/cdk-ses-smtp-credentials\n```\n\nSee [API.md](https://github.com/pepperize/cdk-ses-smtp-credentials/blob/main/API.md).\n\n### Create AWS SES Smtp Credentials for a given user\n\n\u003e Attaches an inline policy to the user allowing to send emails\n\n```typescript\nimport { User } from \"@aws-cdk/aws-iam\";\nimport { SesSmtpCredentials } from \"@pepperize/cdk-ses-smtp-credentials\";\n\nconst user = new User(stack, \"SesUser\", {\n  userName: \"ses-user\",\n});\nconst smtpCredentials = new SesSmtpCredentials(this, \"SmtpCredentials\", {\n  user: user,\n});\n\n// smtpCredentials.secret contains json value {username: \"\u003cthe generated access key id\u003e\", password: \"\u003cthe calculated ses smtp password\u003e\"}\n```\n\nSee [API Reference - SesSmtpCredentials](https://github.com/pepperize/cdk-ses-smtp-credentials/blob/main/API.md#sessmtpcredentials-)\n\n### Create AWS SES Smtp Credentials and create a new user\n\n\u003e Attaches an inline policy to the user allowing to send emails\n\n```typescript\nimport { User } from \"@aws-cdk/aws-iam\";\nimport { SesSmtpCredentials } from \"@pepperize/cdk-ses-smtp-credentials\";\n\nconst smtpCredentials = new SesSmtpCredentials(this, \"SmtpCredentials\", {\n  userName: \"ses-user\",\n});\n\n// smtpCredentials.secret contains json value {username: \"\u003cthe generated access key id\u003e\", password: \"\u003cthe calculated ses smtp password\u003e\"}\n```\n\nSee [API Reference - SesSmtpCredentials](https://github.com/pepperize/cdk-ses-smtp-credentials/blob/main/API.md#sessmtpcredentials-)\n\n### Calculate the AWS SES Smtp password on your own\n\n```typescript\nimport * as AWS from \"aws-sdk\";\nimport { calculateSesSmtpPassword } from \"@pepperize/cdk-ses-smtp-credentials\";\n\nconst iam = new AWS.IAM();\nconst accessKey = await iam\n  .createAccessKey({\n    UserName: username,\n  })\n  .promise();\nconst accessKeyId = accessKey.AccessKey.AccessKeyId;\nconst secretAccessKey = accessKey.AccessKey.SecretAccessKey;\n\nconst password = calculateSesSmtpPassword(secretAccessKey, \"us-east-1\");\n\nconsole.log({\n  username: accessKeyId,\n  password: password,\n});\n```\n\nSee [Obtaining Amazon SES SMTP credentials by converting existing AWS credentials](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html#smtp-credentials-convert)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpepperize%2Fcdk-ses-smtp-credentials","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpepperize%2Fcdk-ses-smtp-credentials","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpepperize%2Fcdk-ses-smtp-credentials/lists"}