-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Feature Request
Summary
The aws-actionmailer-ses gem's SES v2 implementation does not support passing configuration_set_name to the AWS SES v2 API, which is needed for event tracking, reputation monitoring, and delivery customization.
Current Behavior
The gem only passes content, from_email_address, and destination parameters to Aws::SESV2::Client#send_email:
# lib/aws/action_mailer/ses_v2/mailer.rb
def deliver!(message)
params = { content: { raw: { data: message.to_s } } }
params[:from_email_address] = from_email_address(message)
params[:destination] = {
to_addresses: to_addresses(message),
cc_addresses: message.cc,
bcc_addresses: message.bcc
}
@client.send_email(params)
endExpected Behavior
The gem should support passing configuration_set_name to enable event tracking, similar to how it supports custom ARN headers.
Proposed Solution
Option 1: Global setting in ses_v2_settings
config.action_mailer.ses_v2_settings = {
region: 'us-east-1',
configuration_set_name: 'my-config-set'
}Option 2: Per-mailer header (though this may not work with SES v2 API)
class MyMailer < ApplicationMailer
default headers: { 'X-SES-CONFIGURATION-SET' => 'my-config-set' }
endOption 3: Both
Support both global and per-message configuration sets, with per-message overriding global.
Workaround
Currently, the only workaround is to set a default configuration set on the verified identity in the AWS SES Console, which applies to ALL emails from that domain.
AWS SDK Reference
The AWS SDK for Ruby SESv2 Client supports configuration_set_name as a parameter:
client.send_email({
configuration_set_name: "ConfigurationSetName",
# ... other params
})Use Case
Configuration sets are essential for:
- Event tracking (bounces, complaints, deliveries, opens, clicks)
- Reputation monitoring
- Dedicated IP pool management
- Custom MAIL FROM domains
- Different tracking settings per email type (transactional vs marketing)
Impact
Without this feature, users cannot:
- Track email events per mailer/email type
- Use different IP pools for different email types
- Have granular control over email delivery settings
Would appreciate support for this feature! Happy to contribute a PR if there's interest.