인프라 구조 분석 · alpha

alpha 이메일 발송 구조

진입점 · config set · governor 도메인 풀 · 워밍업 fleet · 정합성 이슈
2026-07-13 alpha 코드 + Infisical + DB 실측 개인용 · noindex

1 큰 그림 — 진입점 2개

유저/시스템 메일 sendEmailViaSes() SESv2 (Simple)
워밍업 sendWarmupEmail() SESv2 (Raw MIME · 멀티리전)

단일 SSOT 아님. config set은 category코드가 명시 지정(도메인 identity default 무시). 발송률 계정 공유 25통/초.

2 Infisical env (alpha /elysia-server)

CONFIG_SET_MARKETINGrinda-marketing-alpha
CONFIG_SET_TRANSACTIONALrinda-transactional-alpha
SENDER_EMAIL / _TRANSACTIONALno-reply@fetch.rinda.ai
SENDER_EMAIL_MARKETINGinfo@notify.grinda.ai 주의
SENDER_EMAIL_NUDGE_TRANSACTIONALhojin@channel.rinda.ai
GOVERNOR / ROLE_SYNC / EVENT_CONSUMER전부 ENABLED=true

3 유형별 발신 경로 (governor 실측 · 221개 풀)

🔐 OTP / 트랜잭셔널고정 primary + 스필오버
OTP·비밀번호·답장알림·DSAR → config set rinda-transactional-alpha. primary부터 순차, rate/캡 소진 시 failover, 전부 소진돼도 primary로 fail-open("OTP는 절대 막지 않음").
system_otp (cap 500): fetch(primary)·herald·second .rinda.ai
📣 마케팅 넛지 / 업데이트노트라운드로빈
자동넛지·릴리즈노트·뉴스레터 → config set rinda-marketing-alpha + 구독취소 푸터(필수). env 기본은 notify.grinda.ai지만 governor ON이라 아래 풀로 override.
system_marketing (cap 300): entry·run·lane·dusk·channel·line·field·dispatch·web·family .rinda.ai
💬 transactional 넛지 (welcome·서비스알림)env 고정 · governor 미적용
골든윈도우 활성화 넛지 → From hojin@channel.rinda.ai 고정(isSystemSenderAddress 제외라 라운드로빈 안 탐). 추적 픽셀 <img> 차단, 구독취소 푸터 없음.
🧊 콜드 시퀀스 (캠페인)고객 자기 계정
From = 고객 email account 주소. category:"sequence" → marketing config set으로 정규화. 시스템 주소 아니라 governor override 안 됨(격리 가드).
🔥 워밍업 fleet별도 경로
persona rinda@{domain}, peer 폐쇄루프. config set은 도메인 등록값.
restrained 200개 (day38 · 7통/일) + standard 21개 (day44~45 · 23통/일) = 221 도메인

4 이벤트 파이프라인

SES 발송 SNS SQS (SES_EVENT_CONSUMER_ENABLED) bounce / complaint / delivery DB 반영

평판 기반 role/cap 자동 램프 = SES_DOMAIN_ROLE_SYNC_ENABLED. DLQ 별도.

5 ⚠️ 정합성 이슈 3가지

1 channel.rinda.ai 역할 충돌
env는 transactional 넛지 전용(hojin@channel.rinda.ai)인데, governor system_marketing 풀에도 등록됨(order 114). 마케팅 라운드로빈이 channel을 고를 수 있어 "전용 분리" 취지가 깨짐. 김규동이 말한 012 승격(send_role='system_nudge_transactional')이 alpha 미적용 — 현재 008 기준 system_marketing.
2 system_nudge_transactional을 읽는 코드 없음
governor는 system_otp·system_marketing만 인식. 012를 적용하면 channel이 양쪽 풀 모두에서 탈락하는 사일런트 버그(발송 자체는 env 고정이라 됨).
3 마케팅 넛지 env가 notify.grinda.ai지만 governor override
governor ON이라 실제 발송은 system_marketing 풀(entry 등)로 회전. notify.grinda.ai는 managed 풀에 없음. 즉 현재 마케팅 넛지는 계획된 notify.rinda.ai가 아니라 entry 등 rinda.ai 워밍업 도메인으로 발송 중. (실측: notify.grinda.ai 직접 발송 시엔 강한 DMARC 덕에 Gmail INBOX·Updates 안착)