메일 서버 없이 커스텀 도메인 메일 쓰기
서버 알림이나 각종 가입에 내 도메인 주소를 쓰고 싶었다. 메일 서버를 직접 세우는 건 다른 이야기다. SPF, DKIM, DMARC를 다 맞춰도 스팸으로 분류되기 일쑤고, 계속 관리해야 한다.
받는 쪽과 보내는 쪽을 나눠서 각각 남의 것을 빌렸다.
받기
Cloudflare의 Email Routing을 쓴다. 도메인이 Cloudflare에 있으면 바로 된다.
Cloudflare → Email → Email Routing → Send to an email
내 도메인으로 온 메일을 지정한 Gmail 주소로 넘겨준다. MX 레코드는 Cloudflare가 알아서 넣는다.
보내기
받는 건 됐는데 답장하면 Gmail 주소로 나간다. Gmail이 그 주소로 보내게 만들어야 한다.
먼저 Google 계정에서 App password를 만든다. 2단계 인증이 켜져 있어야 이 메뉴가 나온다. Gmail의 SMTP에 붙을 때 계정 비밀번호 대신 이걸 쓴다.
Gmail → Settings → All settings → Accounts and Import → Send mail as → Add another email address
| 항목 | 값 |
|---|---|
| Name | 표시할 이름 |
| Email address | 내 도메인 주소 |
| Treat as alias | 끔 |
| SMTP Server | smtp.gmail.com |
| Port | 587 |
| Username | Gmail 계정 |
| Password | 앞에서 만든 app password |
| Secured connection | TLS |
Treat as alias를 끄는 게 포인트다. 켜두면 Gmail이 이 주소를 자기 자신의 다른 이름으로 취급해서, 이 주소로 온 메일에 답할 때 발신자가 Gmail 주소로 나간다. 꺼두면 받은 주소 그대로 답장이 나간다.
Cloudflare가 확인 메일을 넘겨주므로 인증 코드는 Gmail로 들어온다.
남는 것
보내는 건 결국 Gmail의 SMTP를 거친다. 하루 발송량 제한이 있고, 헤더를 보면 Gmail을 거쳤다는 게 드러난다. 개인 용도로는 문제될 게 없다.