This code adds AWS SES (Simple Email Service) as an additional (optionally enabled) email transport. It uses the same default AWS SDK config that the s3 file support uses.
This is the second piece of functionality from the AWS Serverless RFC (#5591), following the recent merge of AWS S3 support for files (#5626). I plan to add docs for using all the AWS features together once each feature has been merged.
Requirements for use
An AWS account with SES enabled:
An email or domain identity for your sending address must be validated in SES, see SES docs for details
The identity must not have a Default Configuration Set (You can delete the default configuration set if you accidentally created it)
Build vaultwarden with either the ses or aws feature
Run vaultwarden with:
USE_AWS_SES=true
SMTP_FROM=<sending email address>
AWS_PROFILE=<profile name> (If not using a default AWS config profile. You may also use any other standard AWS env vars to configure SDK credentials.)
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/dani-garcia/vaultwarden/pull/5910
**Author:** [@txase](https://github.com/txase)
**Created:** 5/29/2025
**Status:** 🔄 Open
**Base:** `main` ← **Head:** `aws-ses`
---
### 📝 Commits (2)
- [`d4db518`](https://github.com/dani-garcia/vaultwarden/commit/d4db5188580c3319090bb7568009eae70702203f) Add support for sending email via AWS SES
- [`07e4cf2`](https://github.com/dani-garcia/vaultwarden/commit/07e4cf251cadb9618c140013491873549b6b2708) Panic on unreachable AWS SES code
### 📊 Changes
**5 files changed** (+112 additions, -4 deletions)
<details>
<summary>View changed files</summary>
📝 `Cargo.lock` (+26 -0)
📝 `Cargo.toml` (+5 -0)
📝 `build.rs` (+3 -0)
📝 `src/config.rs` (+29 -4)
📝 `src/mail.rs` (+49 -0)
</details>
### 📄 Description
This code adds [AWS SES (Simple Email Service)](https://aws.amazon.com/ses/) as an additional (optionally enabled) email transport. It uses the same default AWS SDK config that the s3 file support uses.
> This is the second piece of functionality from the AWS Serverless RFC (#5591), following the recent merge of AWS S3 support for files (#5626). I plan to add docs for using all the AWS features together once each feature has been merged.
## Requirements for use
* An AWS account with SES enabled:
* An email or domain identity for your sending address must be validated in SES, see [SES docs](https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html) for details
* The identity **must not** have a _Default Configuration Set_ (You can delete the default configuration set if you accidentally created it)
* Build vaultwarden with either the `ses` or `aws` feature
* Run vaultwarden with:
* `USE_AWS_SES=true`
* `SMTP_FROM=<sending email address>`
* `AWS_PROFILE=<profile name>` (If not using a default AWS config profile. You may also use any other standard [AWS env vars](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html) to configure SDK credentials.)
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/dani-garcia/vaultwarden/pull/5910
Author: @txase
Created: 5/29/2025
Status: 🔄 Open
Base:
main← Head:aws-ses📝 Commits (2)
d4db518Add support for sending email via AWS SES07e4cf2Panic on unreachable AWS SES code📊 Changes
5 files changed (+112 additions, -4 deletions)
View changed files
📝
Cargo.lock(+26 -0)📝
Cargo.toml(+5 -0)📝
build.rs(+3 -0)📝
src/config.rs(+29 -4)📝
src/mail.rs(+49 -0)📄 Description
This code adds AWS SES (Simple Email Service) as an additional (optionally enabled) email transport. It uses the same default AWS SDK config that the s3 file support uses.
Requirements for use
sesorawsfeatureUSE_AWS_SES=trueSMTP_FROM=<sending email address>AWS_PROFILE=<profile name>(If not using a default AWS config profile. You may also use any other standard AWS env vars to configure SDK credentials.)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.