# Transactional Email API × Agent

CURRENT_STATUS: CURRENT
OBSERVATION: SPEC_ONLY
FRESHNESS: CURRENT
PAGE_TYPE: reference
CANONICAL_URL: /tools/ea-221-transactional-email-api-agent
CLAIM_IDS: none
EVIDENCE_IDS: EVD-EA-221-URL-5057CA91CAA3, EVD-EA-221-URL-FE61B8992345, EVD-EA-221-URL-80250F6E9B30, EVD-EA-221-URL-64B5D04F5802, EVD-EA-221-URL-5CE7F040BCDC, EVD-EA-221-URL-3375B9931229, EVD-EA-221-URL-052B4CFC3701, EVD-EA-221-URL-83C9975D716F, EVD-EA-221-URL-5DA292FF1B92, EVD-EA-221-URL-9B1CC81C37C9, EA-221-R11-RESEARCH, EA-221-R11-WEB-READBACK
UNKNOWN_IDS: EA-221-UNKNOWN-01
OPS_IDS: none

## Summary
Agentのdraftを送信操作へ変換する際は、全recipientと本文・添付の承認、domain認証、重複防止、配送event、suppressionを個別に追跡する。

## Current judgment
Resendのidempotency keyは24時間の窓で同一requestの再送を抑える。長期停滞後の重複防止には組織outboxの照合が必要である。[M2]
SESのSENDは配送の試行開始で、suppressionにより配達しない場合もある。Postmarkのdeliveryはrecipient serverの受付であり、inbox到達ではない。[M5,M6]
Resend署名はraw bodyを検証する。retry/replayをdedupし、SendGridのECDSA方式とは別adapterにする。suppressionのscopeと解除条件はproviderごとに照合する。[M3,M4,M7,M8,M10]
現行DMARC RFC9989はauthor domainと認証identifierのalignmentを定義し、RFC7489/9091をobsoleteとする。domain認証は本文の正しさや業務承認の証拠ではない。[M9]

## Scope
Transactional Email API × Agent

## Confirmed
- Resendのidempotency keyは24時間の窓で同一requestの再送を抑える。長期停滞後の重複防止には組織outboxの照合が必要である。[M2]
SESのSENDは配送の試行開始で、suppressionにより配達しない場合もある。Postmarkのdeliveryはrecipient serverの受付であり、inbox到達ではない。[M5,M6]
Resend署名はraw bodyを検証する。retry/replayをdedupし、SendGridのECDSA方式とは別adapterにする。suppressionのscopeと解除条件はproviderごとに照合する。[M3,M4,M7,M8,M10]
現行DMARC RFC9989はauthor domainと認証identifierのalignmentを定義し、RFC7489/9091をobsoleteとする。domain認証は本文の正しさや業務承認の証拠ではない。[M9]

## UNKNOWN
- EA-221-UNKNOWN-01: SMTP/API・DNS・実webhook・inboxは未試験。native MIME/SQLiteと合成gateは実配送の証拠ではない。SMTPのCRLFによるnative期待差は保存し、canonical approval textとwire bytesを分ける。

## Evidence
- EVD-EA-221-URL-5057CA91CAA3 (RESEARCH): M1 — https://resend.com/docs/dashboard/domains/introduction
- EVD-EA-221-URL-FE61B8992345 (RESEARCH): M2 — https://resend.com/docs/dashboard/emails/idempotency-keys
- EVD-EA-221-URL-80250F6E9B30 (RESEARCH): M3 — https://resend.com/docs/webhooks/verify-webhooks-requests
- EVD-EA-221-URL-64B5D04F5802 (RESEARCH): M4 — https://resend.com/docs/webhooks/retries-and-replays
- EVD-EA-221-URL-5CE7F040BCDC (RESEARCH): M5 — https://postmarkapp.com/developer/webhooks/delivery-webhook
- EVD-EA-221-URL-3375B9931229 (RESEARCH): M6 — https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_EventDestination.html
- EVD-EA-221-URL-052B4CFC3701 (RESEARCH): M7 — https://postmarkapp.com/developer/api/suppressions-api
- EVD-EA-221-URL-83C9975D716F (RESEARCH): M8 — https://resend.com/changelog/suppression-list-support
- EVD-EA-221-URL-5DA292FF1B92 (RESEARCH): M9 — https://www.rfc-editor.org/rfc/rfc9989.html
- EVD-EA-221-URL-9B1CC81C37C9 (RESEARCH): M10 — https://www.twilio.com/docs/sendgrid/for-developers/tracking-events/getting-started-event-webhook-security-features
- EA-221-R11-RESEARCH (RESEARCH): EA-221 監査済みresearch / canonical revision binding
- EA-221-R11-WEB-READBACK (IMPL): EA-221 Web body identity / canonical readback

## Failure / limits
成功後timeout、key TTL越え、未承認Bcc/添付、header injection、event重複・遅延・順序反転、bounce/complaint履歴消去、抑止先の自動解除を試験する。
## Failure / limits
SMTP/API・DNS・実webhook・inboxは未試験。native MIME/SQLiteと合成gateは実配送の証拠ではない。SMTPのCRLFによるnative期待差は保存し、canonical approval textとwire bytesを分ける。
## Practice
To/Cc/Bcc、subject、body、添付hashとrevisionを承認に結び付け、変更後は再承認する記録は組織提案である。providerの有限key保持を永続exactly-once保証へ移さない。
## Practice
実domain/DNS/From/Return-Path、recipient権限、署名SDK、region・quota、outbox容量、provider key/抑止scope、費用とcallbackを確認する。[M1–M4,M7,M8]
## Practice
keyと本文/添付を保護し、公開claimを送信権限としない。outcome不明ならprovider IDとoutboxを照合し、新しいkeyで無限再送しない。signature有効性だけで業務操作を再実行しない。
## PUBLIC_CLAIM
Agentのdraftを送信操作へ変換する際は、全recipientと本文・添付の承認、domain認証、重複防止、配送event、suppressionを個別に追跡する。

## ESTABLISHED
Resendのidempotency keyは24時間の窓で同一requestの再送を抑える。長期停滞後の重複防止には組織outboxの照合が必要である。[M2]
SESのSENDは配送の試行開始で、suppressionにより配達しない場合もある。Postmarkのdeliveryはrecipient serverの受付であり、inbox到達ではない。[M5,M6]
Resend署名はraw bodyを検証する。retry/replayをdedupし、SendGridのECDSA方式とは別adapterにする。suppressionのscopeと解除条件はproviderごとに照合する。[M3,M4,M7,M8,M10]
現行DMARC RFC9989はauthor domainと認証identifierのalignmentを定義し、RFC7489/9091をobsoleteとする。domain認証は本文の正しさや業務承認の証拠ではない。[M9]

## INFERENCE
To/Cc/Bcc、subject、body、添付hashとrevisionを承認に結び付け、変更後は再承認する記録は組織提案である。providerの有限key保持を永続exactly-once保証へ移さない。

## FAILURE_ENVELOPE
成功後timeout、key TTL越え、未承認Bcc/添付、header injection、event重複・遅延・順序反転、bounce/complaint履歴消去、抑止先の自動解除を試験する。

## AVAILABILITY_GATES
実domain/DNS/From/Return-Path、recipient権限、署名SDK、region・quota、outbox容量、provider key/抑止scope、費用とcallbackを確認する。[M1–M4,M7,M8]

## SECURITY_PRIVACY_AUDIT_OPERABILITY
keyと本文/添付を保護し、公開claimを送信権限としない。outcome不明ならprovider IDとoutboxを照合し、新しいkeyで無限再送しない。signature有効性だけで業務操作を再実行しない。

## UNKNOWN_AND_STOP_CONDITION
SMTP/API・DNS・実webhook・inboxは未試験。native MIME/SQLiteと合成gateは実配送の証拠ではない。SMTPのCRLFによるnative期待差は保存し、canonical approval textとwire bytesを分ける。

## SOURCES
- M1 https://resend.com/docs/dashboard/domains/introduction
- M2 https://resend.com/docs/dashboard/emails/idempotency-keys
- M3 https://resend.com/docs/webhooks/verify-webhooks-requests
- M4 https://resend.com/docs/webhooks/retries-and-replays
- M5 https://postmarkapp.com/developer/webhooks/delivery-webhook
- M6 https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_EventDestination.html
- M7 https://postmarkapp.com/developer/api/suppressions-api
- M8 https://resend.com/changelog/suppression-list-support
- M9 https://www.rfc-editor.org/rfc/rfc9989.html
- M10 https://www.twilio.com/docs/sendgrid/for-developers/tracking-events/getting-started-event-webhook-security-features

EVIDENCE_AS_OF: 2026-10-04。

NEXT: /agent/start.json
STOP: This is a knowledge projection, not an execution order.