피드로 돌아가기
How to test email verification flows in Playwright (Mailpit, MailHog, and a no-setup alternative)
Dev.toDev.to
DevOps

Docker-less SDK 도입을 통한 E2E Email Verification 테스트 인프라 제로화

How to test email verification flows in Playwright (Mailpit, MailHog, and a no-setup alternative)

zerodrop2026년 6월 8일6intermediate

Context

가입 및 이메일 인증 flow를 검증하는 E2E 테스트 시, 실제 메일 수신 및 링크 추출을 위한 SMTP Trap 인프라 구축 필요성 대두. 기존 MailHog 및 Mailpit 방식은 CI 환경 내 Docker 컨테이너 관리와 포트 맵핑으로 인한 파이프라인 복잡도 증가 및 빌드 시간 지연 발생.

Technical Solution

  • SMTP 서버 직접 구축 대신 Edge-based Disposable Inbox API를 활용한 인프라 제거 설계
  • Cloudflare와 Redis 기반의 외부 메일 큐를 통한 메일 수신 경로 추상화
  • Polling 로직을 내부적으로 처리하는 SDK의 waitForLatest 메서드 도입으로 테스트 코드의 동기적 흐름 구현
  • Docker 서비스 정의 및 Health Check 단계 제거를 통한 CI Pipeline 경량화
  • SMTP 프로토콜 대신 HTTPS API 통신을 통한 네트워크 구성 단순화 및 보안성 강화

- CI 환경에 Docker Compose 도입이 부담스러운 경우 SDK 기반의 외부 Inbox 서비스 검토 - 기존 MailHog 사용 환경이라면 유지보수가 활발한 Mailpit으로의 즉각적인 마이그레이션 권장 - E2E 테스트 작성 시 Polling 루프를 직접 구현하기보다 Timeout 제어가 포함된 추상화 라이브러리 활용

원문 읽기