소개
이메일 인증 플로우는 거의 모든 웹 애플리케이션에 내장되어 있습니다. 그러나 이 플로우를 테스트하는 것은 개발자에게 골치 아픈 문제입니다. 실제 이메일 주소를 사용하면 관리가 복잡해지고, 수동 확인은 시간이 많이 소요됩니다. 일회용 이메일 주소와 API를 결합하면 이 과제를 해결할 수 있습니다.
EvilMail API를 이용한 테스트
EvilMail API를 사용하면 프로그래밍 방식으로 이메일 주소 생성, 이메일 수신 확인, 내용 조회가 가능합니다. 다음은 API의 기본 엔드포인트입니다:
POST /api/v1/mailboxes - 메일박스 생성
GET /api/v1/mailboxes/{id}/messages - 메시지 목록 조회
GET /api/v1/messages/{id} - 메시지 상세 조회Python 구현 예제
다음은 Python을 사용한 자동 테스트 샘플 코드입니다:
import requests
import time
API_BASE = "https://api.evilmail.com/v1"
API_KEY = "your-api-key"
headers = {"Authorization": f"Bearer {API_KEY}"}
# 1. 일회용 메일박스 생성
resp = requests.post(f"{API_BASE}/mailboxes", headers=headers)
mailbox = resp.json()
email = mailbox["address"]
# 2. 테스트 대상 앱에서 회원가입 실행
register_user(email)
# 3. 인증 이메일 도착 대기
for _ in range(30):
resp = requests.get(
f"{API_BASE}/mailboxes/{mailbox['id']}/messages",
headers=headers
)
messages = resp.json()
if messages:
verification_link = extract_link(messages[0]["body"])
requests.get(verification_link)
break
time.sleep(1)
