시스템 발신 설계 진단

넛지·OTP·업데이트노트 발신 — 문제 · 원인 · 해결

각 기능이 어느 도메인으로 나가게 설계됐는지 전수분석 + 프로덕션 스팸 원인·해결
2026-07-13 nudge 33 전수 + OTP + 릴리즈 Infisical + alpha/beta DB + 코드 개인용 · noindex

문제 프로덕션 모든 시스템 발송이 스팸 풀로

기능경로실제 발신 도메인배치
OTP·인증·비번재설정·답장알림·DSAR시스템 트랜잭셔널no-reply@fetch.rinda.aiSPAM
21개 넛지 (welcome·구독·트라이얼·계정·한도·유도)marketinghello@{entry·channel·web…}SPAM
업데이트노트(릴리즈)marketinghello@{marketing풀}SPAM
tx넛지 경로(설계됨)transactionalhojin@channel.rinda.ai미사용

원인 3층 복합

1
트랜잭셔널성 넛지를 marketing 경로로 분류
beta 활성 21개가 전부 sending_path=marketing. welcome·계정탈퇴·트라이얼·한도알림처럼 유저가 기대하는 트랜잭셔널성 메일까지 marketing으로 보내 구독취소 푸터 + 스팸 마케팅 풀로 감. 설계된 transactional 경로(hojin@channel)는 미사용.
2
governor 발신 풀 도메인이 이미 태워짐
OTP 풀 primary fetch, 마케팅 풀 entry·channel 등 13개가 실측 100% 스팸. 시스템 발송 자체가 이 도메인들을 태움.
3
근본 — 실유저 발송이 도메인을 태운다
peer 워밍업(7통/일)→ 안 태워짐(INBOX)
실유저 발송(OTP·마케팅·콜드)태워짐(SPAM)
동일 콘텐츠 221통이 실사용량에 따라 8%(미사용)~94%(1만+) 스팸. 콘텐츠·DMARC 무관(검증 완료).

부가: alpha(활성 3) ↔ beta(활성 21) 넛지 세트 drift. 수신자측 학습(admin 계정 100% 스팸)도 요인.

해결 발신 재설계 + 도메인 재배정

A
넛지 경로 재분류 P0
welcome·계정탈퇴·한도알림·트라이얼 등 트랜잭셔널성 넛지를 transactional 경로로 재분류(구독취소 푸터 제거, tx 도메인). 순수 홍보성(구독유도·기능안내)만 marketing 유지.
B
BURNED 강등 + GOOD 승격 P0
fetch·entry·channel 등 13개 send_role=NULL 강등. OTP=herald·second, 마케팅=bay·beam·bell 등 GOOD(실측 INBOX)로 send_role 재배정(alpha+beta DB 각각). 143개 GOOD은 SES/DNS 완비.
C
4-Pool 격리 + 재고 보호 P1
시스템활성 / 시스템예비(고객 격리) / 고객콜드 / 오염격리 4분리. GOOD 재고를 고객 콜드에서 보호(isCustomerSelectable 코드 변경).
D
저용량 cap + 로테이션 + 모니터 P1
daily_cap 300/500→20~30, 다수 도메인 순환으로 소진 분산. 주간 seed 배치테스트 → 태워진 도메인 자동 강등(role-sync 활용) → 예비 풀 보충.
E
alpha↔beta 넛지 정합 P2
nudge_type_configs drift 해소 — 프로덕션 기준으로 통일.

반영 위치 (요약)