ENG-3301: Add threading header support to email providers (Story 2)#8122
Draft
JadeCara wants to merge 3 commits intoENG-3301/messaging-provider-refactor-pr2-sesfrom
Draft
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
8 tasks
acc05e5 to
ec08848
Compare
JadeCara
added a commit
that referenced
this pull request
May 6, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
916b01c to
64bee10
Compare
ec08848 to
b92ef93
Compare
Extend EmailForActionType with optional reply_to, message_id, in_reply_to, references, and body_text fields. Map these to provider-specific APIs in all 4 email providers: - Mailgun: h:Reply-To, h:Message-ID, etc. + text field - Twilio/SendGrid: ReplyTo, Header objects + Content text/plain - Mailchimp: message.headers dict + message.text - AWS SES: switch to send_raw_email with MIME construction via email.message.EmailMessage for custom header support Add PROVIDER_MAP completeness invariant test and per-provider header mapping tests including non-ASCII encoding coverage. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
64bee10 to
f07ce63
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ticket ENG-3301
Description Of Changes
Adds threading header support to all 4 email providers. Extends
EmailForActionTypewith optionalreply_to,message_id,in_reply_to,references, andbody_textfields. All fields default toNone— existing callers are unaffected (backward compatible).Switches AWS SES from
send_email()(simple API) tosend_raw_email()with MIME construction viaemail.message.EmailMessagefor custom header support.Code Changes
EmailForActionTypeschema with 5 optional threading/envelope fieldsh:Reply-To,h:Message-ID,h:In-Reply-To,h:References,textReplyTo,Headerobjects,Content("text/plain", ...)message.headersdict,message.textsend_raw_email()withEmailMessageMIME constructionSESClienttype stub:send_email()→send_raw_email()test_provider_headers.py— per-provider header mapping tests (headers present + absent)test_provider_map.py—PROVIDER_MAPcompleteness invariant testSteps to Confirm
send_raw_emailinternally)Pre-Merge Checklist
CHANGELOG.mdupdated🤖 Generated with Claude Code