나만의 이메일 만들기

Cloudflare와 Mailtrap을 사용해 Gmail에서 나만의 이메일 사용하기

나만의 이메일 만들기

Intro

개발자, 특히 웹 개발자라면 대부분 자기 도메인에 대한 낭만을 가지고 있어요.
어마어마하게 넓은 웹 상에서 유일한 ‘나만의’ 공간이잖아요?

제가 medium, velog, tistory 등의 편한 CMS를 두고 굳이 Ghost를 선택한 이유도 이 낭만 때문이에요.

그러다가 이런 생각이 들었어요.
“이메일 주소도 내 도메인으로 쓰면 얼마나 멋질까?”

이 글에서는 제가 어떻게 나만의 이메일을 만들게 되었는지, 그리고 그 과정에서 삽질했던 경험을 이야기할게요.


도메인

도메인은 무조건 Cloudflare를 추천해요.

저는 지금까지 가비아, GoDaddy, Route 53(aws), Cloudflare 총 4가지의 도메인 제공 업체를 사용해봤는데, cloudflare가 가장 만족스러웠어요.

Cloudflare는 다른 3곳과 다르게 특별한 할인 정책은 없지만, 대신 장점이 뚜렷해요.

  • 연장 시에도 동일한 가격을 보장하고
  • 별도의 유지 비용이 들지 않으며
  • R2, Workers, HTTPS 프록시 같은 개발자를 위한 여러가지 기능들을 제공해요.

특히 이 기능들 중에는 Email Routing이라는 서비스가 있는데 이걸 활용하면 이메일 수신을 아주 간단하게 설정할 수 있어요.

이메일 수신

이메일 수신은 Cloudflare로 5초면 설정할 수 있어요.

Email Routing 기능에 들어가서, 내가 원하는 이메일과 실제로 받고 싶은 이메일만 설정하면, Cloudflare가 자동으로 내가 받고 싶은 경로로 라우팅해주죠.

다만…

스팸처리

Cloudflare Email Routing으로 전달된 이메일은, 기본적으로 Gmail에서 스팸으로 분류해요!!

그래서 [내 도메인]으로 들어오는 이메일은 절대 스팸 처리되지 않도록 Gmail에 필터를 설정해줘야 해요.아래처럼 필터를 추가해 두면, 시간이 좀 지난 뒤에는 필터를 지워도 더 이상 스팸함으로 가지 않더라고요.

이메일 송신

이메일 보내기도 설정은 매우 간단하게 할 수 있어요. Gmail → 설정 → 계정 에서, “다른 이메일 주소 추가”를 누르고 정보를 입력한 뒤, 아래와 같이 구글 기본 SMTP인[smtp.gmail.com](<http://smtp.gmail.com>) 와 내 구글아이디, 앱 비밀번호를 입력하면 돼요. (앱 비밀번호는 2단계 인증 설정후 보안설정에서 발급받을 수 있어요)

이 과정을 완료하면 구글에서 해당 주소로 인증메일을 보내줘요. 인증까지 완료하면, Gmail 작성 시 내가 등록한 이메일 주소를 선택할 수 있어요.

다만…

스팸처리

이렇게 보낸 이메일은 스팸으로 분류될 확률이 높아요!!

테스트 이메일을 보낸 후 이메일 원문을 살펴보면, 실제로 이메일을 발송한 건 구글 서버(.google.com)이고, DKIM 서명도 구글 도메인(1e100.net) 기준으로만 붙어 있어요. 그런데 겉으로 보이는 From 주소는 내 도메인(이메일@j2234.dev)이라서, 수신 서버 입장에서는 “이거 위조된 거 아닌가?” 하고 의심하는 거예요.

Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com......
X-Google-DKIM-Signature:...d=1e100.net
From: j2234 <이메일@j2234.dev> ....

물론 이메일 서비스마다 다르겠지만, 제가 실험해본 Naver, Daum 같은 국내 서비스들은 무조건 스팸으로 취급하더라고요.

MailTrap

그래서 저는 MailTrap이라는 서비스를 사용하기로 했어요. MailTrap은 무료 플랜 기준으로 하루 150개, 한 달 3,500개의 이메일을 무료로 발송할 수 있는 서비스인데, SMTP, API 등 다양한 방식을 지원해요.

여기서 제공하는 레코드를 DNS에 추가해 도메인 인증을 완료하면 MailTrap의 SMTP 서버를 사용할 수 있죠.

이때 MailTrap은 발송 시 자동으로 SPF와 DKIM을 모두 적용해주기 때문에, 수신 서버는 이 이메일이 정상적으로 내 도메인에서 보낸 거라고 인정해요.

Received: from j2234.dev by smtp.mailtrap.live with ESMTPSA
DKIM-Signature: ... d=smtp.mailtrap.live; ...
DKIM-Signature: ... d=j2234.dev; ...
From: j2234 <이메일@j2234.dev> ....

앞서 살펴본 Gmail의**“다른 이메일 주소 추가”**기능에서 이 SMTP 정보를 등록하면, Gmail에서 MailTrap을 거쳐 내 도메인 이메일로 메일을 보낼 수 있죠.

이제 드디어 스팸걱정 없이 나만의 주소로 이메일을 읽고 보낼 수 있어요!!

TMI

MailTrap은 이외에도 다양한 서비스를 지원하는데요, 이메일 전송이 성공했을 때, 반송됐을 때, 읽었을 때 등등의 이벤트를 수집하고 웹훅도 제공해요. 저는 이 웹훅과 Cloudflare Workers를 이용해 이메일이 반송됬을 경우 제 Gmail로 경고가 오도록 설정해놨어요.

Final

“내 도메인으로 만든 이메일을 보내고 싶어” 라는, 어찌보면 쓸데없는 목표를 이루기 위해서 거의 하루를 투자했어요. 그냥 gmail쓰면 세상 편한데 ㅋㅋㅋㅋ

그래도 SPF, DKIM, DMARC 같은 개념도 찾아보고, 이제 나만의 메일을 사용할 수 있게 돼서 만족해요. 개발자라면 이 정도의 낭만은 괜찮지 않을까요?

3-Point

  1. Cloudflare와 Mailtrap을 사용해 무료로 나만의 이메일을 만들었다.
  2. 삽질했어도 낭만 있으면 OK!