Skip to content

feat(consultation): 새 상담 접수를 이메일로 알린다 - #52

Merged
kojoo112 merged 1 commit into
mainfrom
feat/consultation-email-notify
Oct 1, 2026
Merged

kojoo112 merged 1 commit into
mainfrom
feat/consultation-email-notify

Conversation

@kojoo112

@kojoo112 kojoo112 commented Oct 1, 2026

Copy link
Copy Markdown
Member

Background

지금은 변호사가 어드민에 들어가야만 새 상담을 알 수 있다. 접수 즉시 이메일로 알린다. (카카오 알림톡은 채널 개설·템플릿 심사가 선행돼야 해서 이후 태스크)

변경

  • src/lib/consultation-notify.ts 신설: Resend REST API 를 fetch 로 호출. 의존성 추가 없음
  • submitConsultation 에서 insert 성공 후 발송. 실패는 함수 안에서 삼켜 접수 결과에 영향 없음
  • 메일에 상담 내용(answers)을 넣지 않는다 — 접수 사실·시각·접수함 링크만 (docs/consultation.md 개인정보 원칙)
  • .env.example: RESEND_API_KEY / CONSULTATION_NOTIFY_TO / CONSULTATION_NOTIFY_FROM 명세. 셋 다 있어야 켜지고 없으면 조용히 생략
  • docs/consultation.md: 9번 섹션으로 정책 기록, '아직 없는 것'에서 메일 알림 제거

확인

  • pnpm lint 통과
  • pnpm typecheck 통과
  • pnpm qa:render 통과 (42 tests)

범위 밖

  • 카카오 알림톡 (채널·중계사·템플릿 준비 후)
  • 수신 주소의 어드민 설정화 (지금은 env)

참고

실제 발송하려면 Vercel 환경변수에 Resend 키와 수신/발신 주소를 넣어야 한다. 발신 도메인은 Resend 에서 인증 필요 (테스트는 onboarding@resend.dev).

🤖 Generated with Claude Code

Resend REST API 를 fetch 로 호출한다. 의존성 추가 없음.
- RESEND_API_KEY / CONSULTATION_NOTIFY_TO / CONSULTATION_NOTIFY_FROM
  셋이 모두 있어야 켜지고, 없으면 접수만 되고 알림은 생략된다
- 메일에는 상담 내용(answers)을 넣지 않는다 — 접수 사실·시각·접수함
  링크만. 외부 메일 로그에 사건 내용이 남지 않게 한다
- 발송 실패는 삼킨다. 저장 성공 뒤의 일이라 접수 결과에 영향 없음

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
lawkit Ready Ready Preview Oct 1, 2026 2:35am UTC

@kojoo112
kojoo112 merged commit 0210390 into main Oct 1, 2026
3 checks passed
@kojoo112
kojoo112 deleted the feat/consultation-email-notify branch October 1, 2026 02:36

This branch was successfully deployed

1 active deployment
Preview — 6d24b143 Deployed Oct 1, 2026 by vercel[bot]
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