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)
end
Expected 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' }
end
Option 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.
Feature Request
Summary
The
aws-actionmailer-sesgem's SES v2 implementation does not support passingconfiguration_set_nameto 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, anddestinationparameters toAws::SESV2::Client#send_email:Expected Behavior
The gem should support passing
configuration_set_nameto enable event tracking, similar to how it supports custom ARN headers.Proposed Solution
Option 1: Global setting in ses_v2_settings
Option 2: Per-mailer header (though this may not work with SES v2 API)
Option 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_nameas a parameter:Use Case
Configuration sets are essential for:
Impact
Without this feature, users cannot:
Would appreciate support for this feature! Happy to contribute a PR if there's interest.