This project is not covered by Drupal’s security advisory policy.
SES SMTP Credentials integrates the SMTP module with AWS Simple Email Service (SES) by fetching SMTP credentials from AWS Systems Manager Parameter Store at runtime and injecting them into smtp.settings transparently.
Credentials are never written to the Drupal database, configuration storage, or version control. They are retrieved on each request using the EC2 instance profile (or equivalent IAM role) and cached in memory for the lifetime of the request only.
Features
- Zero-config credential injection via a config factory override — no changes to
smtp.settingsin the UI required - Configurable AWS region via
$settings['ses_aws_region']insettings.php - Optional
X-SES-TENANTandX-SES-CONFIGURATION-SETheader stamping on every outbound message (for shared SES configuration sets) - A Drush command (
drush ses-smtp:check) that verifies SSM access, DNS resolution, TCP connectivity, STARTTLS, and SMTP authentication without sending any mail - Safe to enable on all environments — if the SSM parameter name is empty or the host does not match, nothing is injected and mail routes through the existing transport unchanged
Requirements
- Drupal 10 or 11
- SMTP module
aws/aws-sdk-php(^3.0) via Composer- An IAM role or EC2 instance profile with
ssm:GetParameterpermission - SMTP credentials stored in SSM Parameter Store as a pipe-delimited string:
username|password|account
AI Use Disclosure
This module was developed with AI assistance (Claude by Anthropic). All code has been reviewed, tested, and approved by the human author before being committed.
Project information
- Project categories: Integrations
- Created by dietric@gmail.com on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
