내가 무료 익명 이메일 서비스를 구축한 방법 — 전화 없이, 비밀번호 없이, 로그 없이
Source: Dev.to
(번역할 텍스트를 제공해 주시면 한국어로 번역해 드리겠습니다.)
문제
| Provider | 요구하는 정보 |
|---|---|
| Gmail | 전화번호 + 실명 |
| Outlook | 전화번호 |
| ProtonMail | 전화번호 또는 복구 이메일 |
| Tutanota | 기존 이메일 + 수동 승인 |
| Yahoo | 전화번호 |
프라이버시 중심의 서비스조차도 실제 신원과 연결되는 링크를 만듭니다. ProtonMail은 실제로 2021년에 스위스 당국에 의해 사용자의 IP 주소를 기록하도록 강제되었습니다.
나는 회원가입 과정에서 문자 그대로 아무것도 수집하지 않는 서비스를 원했습니다.
내가 만든 것
QRYPTY Mail — 무료 익명 이메일 서비스.
회원가입 절차
- 사용자 이름을 선택합니다.
- 무작위 32자 접근 코드를 받습니다.
- 끝입니다. 전화번호도, 비밀번호도, 이름도, 복구 이메일도 없습니다.
접근 코드는 당신의 유일한 키입니다. 우리는 bcrypt로 해시를 적용하며, 평문을 절대 보거나 저장하지 않습니다. 코드를 잃어버리면 영원히 사라집니다. “비밀번호 찾기” 버튼도 없습니다. 이것은 버그가 아니라 바로 서비스의 핵심 목적입니다.
실제로 할 수 있는 일
QRYPTY Mail은 일시적인 버려지는 주소가 아니라 완전한 이메일 서비스입니다:
- Send and receive from Gmail, Outlook, Yahoo, ProtonMail — any provider
- Folders — Inbox, Sent, Drafts, Starred, Spam, Trash
- Attachments up to 25 MB
- Full‑text search across all your emails
- Spam filter — because spam finds you within hours of going live (learned that the hard way)
- 13 languages — English, Russian, Chinese, Hindi, Spanish, French, Arabic, Bengali, Portuguese, Urdu, Indonesian, German, Japanese
- Mobile PWA — install it on your phone directly from the browser
기술적 배경
For anyone curious about the stack:
- 백엔드: Python/FastAPI + PostgreSQL + Redis
- 프론트엔드: React + Vite + Tailwind CSS
- 이메일:
aiosmtpd(receiving) +aiosmtplib(sending) - 인증: 32‑char access codes → bcrypt hash → JWT sessions
- 인프라스트럭처: Docker Compose + nginx + Let’s Encrypt
인증 모델은 일반적이지 않습니다. 비밀번호 대신 시스템은 a‑z, A‑Z, 0‑9 중에서 무작위 32‑문자 코드를 생성합니다. 이는 62^32개의 가능한 조합, 즉 대략 10^57에 해당합니다. 전체 비트코인 네트워크가 단일 코드를 무차별 대입 공격하는 데 수십억 년이 걸릴 것입니다.
내가 겪은 실수들
-
스팸을 과소평가했다.
SMTP 서버를 시작한 지 3 시간 만에 첫 스팸을 받았고, 하루 만에 수백 건이 들어왔습니다. 스팸 필터는 “있으면 좋은” 것이 아니라 생존을 위한 필수입니다. -
사용자는 접근 코드를 잃어버릴 것이다.
경고를 아무리 크게 해도 누군가는 코드를 스크린샷으로 저장하고, 휴대폰을 잃어버리며, 복구를 요청하는 이메일을 보냅니다. 답은 언제나 같습니다: 우리는 할 수 없습니다. Zero‑knowledge는 복구가 불가능함을 의미합니다. -
RTL 언어가 모든 것을 깨뜨렸다.
아랍어와 우르두어는 오른쪽에서 왼쪽으로 씁니다. RTL 지원을 추가하는 것은 단순히 텍스트를 뒤집는 것이 아니라 전체 레이아웃 로직을 재고해야 함을 의미했습니다. CSSdirection: rtl은 시작에 불과합니다. -
이메일 전달률은 악몽이다.
다른 제공업체가 이메일을 수락하도록 하려면 올바른 MX, SPF, DKIM, 그리고 DMARC DNS 레코드가 필요합니다. 그래도 일부 제공업체는 새 도메인을 의심합니다. 도메인 평판을 올리는 데 몇 주가 걸렸습니다.
“왜 나를 믿어야 하지?”
공정한 질문입니다. 답은 다음과 같습니다:
- 우리는 여러분의 데이터를 요청하지 않으므로 유출될 것이 없습니다.
- IP 주소를 저장하지 않으므로 넘겨줄 것이 없습니다.
- 접근 코드는 bcrypt‑해시 처리되어 있어 데이터베이스가 유출돼도 아무것도 드러나지 않습니다.
- 광고가 없으므로 여러분을 추적할 동기가 없습니다.
- 유료 플랜이 없는 무료 서비스이므로 미끼‑전환이 없습니다.
아키텍처는 신뢰가 필요 없도록 설계되었습니다. 우리는 단순히 여러분의 데이터를 보유하지 않을 뿐입니다.
사용해 보기
- 🌐 qrypty.com — 메인 사이트
- 📧 qrypty.com/register — 10 초 만에 계정 만들기
- 📖 qrypty.com/blog — 이메일 프라이버시 관련 기사
완전히 무료입니다. 유료 플랜도 없고, 기능 제한도 없으며, “프로로 업그레이드” 배너도 없습니다.
개발자 커뮤니티의 피드백을 진심으로 받고 싶습니다. 무엇을 바꾸고 싶으신가요? 어떤 점이 걱정되시나요? 어떤 기능이 부족한가요?