feat(send): per-send from/fromName email overrides (SDK, CLI, MCP)#67
Merged
Conversation
…aw sends Adds optional per-message From identity overrides on email sends, identical across templated (send) and raw (sendRaw) sends: - from: bare From address override. Was raw-only; now also on templated sends. - fromName: new on both — From display name, rendered as "Name <address>". Max 128 chars; no control characters or angle brackets. Either can be set alone; both fall back to the connection's configured values. Threaded through the SDK client, MCP tool schemas (senderkit_send / senderkit_send_raw), and CLI (--from / --from-name). README + changeset added.
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.
Summary
Adds optional per-send From overrides on email sends, with identical
behavior on templated (
send) and raw (sendRaw) sends, bringing the SDK, MCPtool schemas, and CLI in line with the
/v1/sendAPI:from— From address override (bare address). Previously accepted onraw sends only; now also on templated sends.
fromName— new on both: From display name override, rendered by theserver as
Name <address>. Max 128 chars; no control characters or anglebrackets.
Either field can be set on its own; both fall back to the provider connection's
configured values. On managed sending, the
fromaddress is honored only on theworkspace's verified sending domain, while
fromNamealways applies.SDK (
@senderkit/sdk)SendRequestgainsfromandfromName;SendRawEmailRequestgainsfromName(it already hadfrom).client.send()andclient.sendRaw()forward both fields to/v1/send(
sendRawkeeps them email-only via the existing channel guard).MCP (tool schemas)
senderkit_sendandsenderkit_send_rawgainfromandfromNameinputs,described as email-only overrides. Shared field definitions keep the two tools
in sync.
CLI (
@senderkit/cli)senderkit sendandsenderkit send-rawpick up--fromand--from-nameautomatically from the shared schema; both are threaded through to the client.
Tests / verification
from/fromNameon templated and raw sends, and thatboth are dropped on non-email channels.
pnpm --filter @senderkit/sdk --filter @senderkit/cli typecheck— clean.pnpm --filter @senderkit/sdk --filter @senderkit/cli test— 59 + 80 pass.@senderkit/sdkminor,@senderkit/climinor); READMEsupdated.
Parity changes are landed in the Python and PHP SDKs as well.
🤖 Generated with Claude Code
Generated by Claude Code