Skip to content

CLI send: repeatable --to for multiple recipients - #52

Open
alexeygrigorev wants to merge 3 commits into
relay-cli-attach-renamefrom
cli-multi-recipient
Open

alexeygrigorev wants to merge 3 commits into
relay-cli-attach-renamefrom
cli-multi-recipient

Conversation

@alexeygrigorev

@alexeygrigorev alexeygrigorev commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Stacked on the relay-cli-attach-rename branch: adds multi-recipient delivery to the new --attach flow.

  • relay send --to is repeatable (comma-separated also accepted); one transactional send per recipient with the same subject/body/attachments.
  • Shared --idempotency-key is scoped per recipient (key:recipient); single-recipient sends keep the key untouched.
  • CLI tests: 20 passed (6 new). README Send section extended.

Use case: scripts/genmedia_full_export.py (course-management-platform) sends the daily full participant CSV to two operators in one CLI call. Note: requests over ~8KiB still need the edge exception for the sender IP (aws-infra#106) until the WAF cap is raised.

relay send --to accepts repeatable and comma-separated recipient emails
and delivers one transactional send per recipient (same subject, body and
--attach files), so a summary with a CSV export reaches several operators
in a single CLI call. Gmail threads the per-recipient sends by subject.

A shared --idempotency-key is scoped per recipient (key:recipient) so
retries dedupe correctly; single-recipient sends keep the key untouched.
relay send --to accepts repeatable and comma-separated recipient emails
and delivers one transactional send per recipient (same subject, body and
--attach files), so a summary with a CSV export reaches several operators
in a single CLI call. Gmail threads the per-recipient sends by subject.

A shared --idempotency-key is scoped per recipient (key:recipient) so
retries dedupe correctly; single-recipient sends keep the key untouched.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant