Cloudflare Email Routing으로 커스텀 이메일 주소 만들기
나만의 도메인을 가지고 있다면 한 번쯤 hello@mydomain.com 같은 이메일 주소를 만들어보고 싶지 않으셨나요?
브랜드 이메일 주소가 있으면 신뢰감을 줄 수 있고, 용도별로 주소를 나눠서 쓸 수도 있어서 여러모로 유용하거든요.
그런데 이메일 서비스를 직접 운영하는 건 서버 관리부터 보안까지 신경 쓸 게 너무 많습니다. Google Workspace 같은 유료 서비스를 쓰자니 개인 프로젝트나 소규모 사이트에는 부담이 되고요.
Cloudflare Email Routing은 이런 고민을 깔끔하게 해결해줍니다.
도메인에 커스텀 이메일 주소를 만들어서 기존 Gmail이나 Outlook 같은 메일함으로 전달해주는 무료 서비스인데요.
별도의 메일 서버 없이도 contact@mydomain.com으로 받은 메일을 myname@gmail.com으로 바로 읽을 수 있게 되는 거죠.
이번 글에서는 Cloudflare Email Routing의 설정 방법을 처음부터 끝까지 살펴보겠습니다.
Cloudflare Email Routing이란?
Cloudflare Email Routing은 도메인으로 들어오는 이메일을 다른 이메일 주소로 전달(forwarding)해주는 서비스예요.
우편물 전달 서비스와 비슷하다고 생각하면 됩니다.
info@mydomain.com이라는 주소로 온 편지를 실제 우편함인 myname@gmail.com으로 옮겨주는 역할이죠.
핵심적인 특징을 정리하면 이렇습니다.
일단 완전 무료입니다. Cloudflare 무료 플랜에서도 쓸 수 있고 이메일 전달 횟수에 제한도 없어요.
커스텀 주소를 원하는 만큼 만들 수 있습니다.
hello@, support@, admin@ 등 용도별로 주소를 나눠서 각각 다른 메일함으로 보낼 수도 있고, 하나의 메일함으로 모을 수도 있어요.
Catch-all 규칙도 지원합니다. 미리 설정하지 않은 주소로 온 메일도 놓치지 않고 받을 수 있죠.
별도의 메일 서버가 필요 없다는 것도 장점입니다. DNS MX 레코드 설정만으로 동작하기 때문에 서버를 관리할 일이 없거든요.
사전 준비
Cloudflare Email Routing을 사용하려면 두 가지가 필요합니다.
첫째, 자기 소유의 도메인이 있어야 해요. Cloudflare에서 직접 도메인을 구매할 수도 있고, 다른 등록 업체에서 구매한 도메인을 Cloudflare에 등록할 수도 있습니다. 도메인 구매에 대해서는 GitHub Pages에 커스텀 도메인 연결하기에서 자세히 다루고 있으니 참고하세요.
둘째, 해당 도메인의 네임서버가 Cloudflare를 가리키고 있어야 합니다. Cloudflare에 도메인을 추가하면 네임서버를 변경하라는 안내가 나오는데, 이 과정을 완료해야 Email Routing을 비롯한 Cloudflare 서비스를 사용할 수 있어요.
Email Routing 활성화
Cloudflare 대시보드에 로그인한 뒤 Email Routing을 설정하는 과정을 살펴볼게요.
먼저 대시보드 왼쪽 메뉴에서 해당 도메인을 선택합니다. 그 다음 왼쪽 사이드바에서 Email > Email Routing을 클릭하면 됩니다.
처음 진입하면 Email Routing을 활성화하겠냐는 안내가 나와요. Get started 버튼을 누르면 Cloudflare가 자동으로 필요한 DNS 레코드를 추가해줍니다. MX 레코드와 SPF용 TXT 레코드가 자동 생성되기 때문에 직접 DNS를 건드릴 필요가 없어요.
기존에 다른 이메일 서비스를 위한 MX 레코드가 이미 있다면 충돌이 발생할 수 있습니다. 이 경우 기존 MX 레코드를 삭제하고 Cloudflare Email Routing용 레코드로 교체해야 하는데, 기존 이메일 서비스에 영향을 줄 수 있으니 전환 전에 꼭 확인하세요.
목적지 이메일 등록
이메일을 전달받을 목적지(destination) 주소를 먼저 등록해야 합니다. Email Routing 페이지에서 Destination addresses 탭으로 이동한 뒤 Add destination address 버튼을 클릭하세요.
여기에 실제로 메일을 받아볼 이메일 주소를 입력하면 됩니다.
myname@gmail.com이나 myname@outlook.com 같은 기존 메일 주소를 넣으면 돼요.
주소를 추가하면 해당 메일함으로 인증 메일이 발송됩니다. 인증 메일에 포함된 링크를 클릭해서 소유권을 확인해야 목적지로 사용할 수 있어요. 인증을 완료하면 상태가 Verified로 바뀝니다.
목적지 주소는 여러 개 등록할 수 있습니다. 개인 메일, 업무 메일, 팀 공용 메일 등을 나눠 등록해두면 나중에 라우팅 규칙을 만들 때 편하게 쓸 수 있어요.
라우팅 규칙 만들기
목적지 주소가 준비되었으니 이제 라우팅 규칙을 만들어볼게요. Routing rules 탭에서 Create address 버튼을 클릭합니다.
설정은 아주 간단해요.
Custom address 필드에 만들고 싶은 이메일 주소의 앞부분을 입력합니다.
hello를 입력하면 hello@mydomain.com 주소가 생성되는 거죠.
Destination 드롭다운에서 앞서 등록한 목적지 주소를 선택하세요.
그러면 hello@mydomain.com으로 온 메일이 선택한 목적지 주소로 전달됩니다.
Action 항목에서는 전달 방식을 선택할 수 있는데요. 기본값인 Send to an email은 지정한 목적지로 이메일을 전달하는 것이고, Drop은 해당 주소로 온 메일을 버리는 것입니다. 스팸이 많이 오는 주소가 있다면 Drop으로 설정해서 차단할 수 있어요.
이런 식으로 규칙을 여러 개 만들 수 있습니다.
hello@mydomain.com → myname@gmail.com
support@mydomain.com → support-team@gmail.com
billing@mydomain.com → myname@gmail.com
spam@mydomain.com → (Drop)
같은 도메인에서 용도별로 주소를 분리하면서도 실제 메일함은 원하는 대로 통합하거나 분산할 수 있어서 꽤 편리합니다.
Catch-all 규칙
라우팅 규칙을 하나하나 만드는 것도 좋지만, 미처 설정하지 못한 주소로 메일이 오면 어떻게 될까요? 기본적으로는 발신자에게 반송(bounce)돼요.
이런 상황을 방지하려면 Catch-all 규칙을 활성화하면 됩니다. Routing rules 탭 하단에 Catch-all address 섹션이 있는데, 여기서 토글을 켜주세요.
Catch-all을 활성화하면 명시적으로 규칙을 만들지 않은 모든 주소로 온 메일이 지정한 목적지로 전달돼요.
누군가 anything@mydomain.com으로 메일을 보내도 놓치지 않고 받아볼 수 있습니다.
개인 도메인이라면 Catch-all을 켜두는 걸 추천해요.
어디선가 이메일 주소를 입력할 때 즉석에서 newsletter@mydomain.com, github@mydomain.com 같은 주소를 만들어 쓸 수 있거든요.
어떤 서비스에서 어떤 주소를 썼는지 추적하기도 좋고, 특정 주소로 스팸이 오기 시작하면 해당 서비스에서 정보가 유출됐다는 사실도 알 수 있죠.
다만 Catch-all이 켜져 있으면 스팸 메일도 함께 늘어날 수 있다는 점은 감안하셔야 합니다.
커스텀 주소로 메일 보내기
지금까지 설정한 건 메일을 받는(수신) 방향의 전달이에요.
그런데 hello@mydomain.com으로 받은 메일에 답장하면 어떻게 될까요?
기본적으로 답장은 목적지 주소(예: myname@gmail.com)에서 발송됩니다.
상대방에게는 커스텀 도메인 주소가 아닌 Gmail 주소가 보이게 되죠.
커스텀 도메인 주소로 메일을 보내려면 Gmail의 “다른 주소에서 메일 보내기(Send mail as)” 기능을 활용할 수 있습니다.
Gmail 설정에서 계정 및 가져오기(Accounts and Import) 탭으로 이동한 뒤 다른 주소에서 메일 보내기(Send mail as) 섹션에서 다른 이메일 주소 추가(Add another email address)를 클릭하세요.
여기서 커스텀 도메인 주소(hello@mydomain.com)를 입력하면 되는데 SMTP 서버 설정이 필요합니다.
Cloudflare Email Routing 자체는 발신(outbound) 기능을 제공하지 않아서 별도의 SMTP 서비스를 연결해야 해요.
무료로 쓸 수 있는 SMTP 서비스로는 Brevo(구 Sendinblue)가 있습니다. 무료 플랜에서 하루 300통까지 보낼 수 있어서 개인 용도로는 충분해요. Mailgun도 많이 쓰는 서비스인데 매월 1,000통까지 무료입니다.
이렇게 외부 SMTP 서비스를 연결하면 Gmail에서 커스텀 도메인 주소로 메일을 보내거나 답장할 수 있게 됩니다. 다만 설정이 다소 번거롭고 도메인의 SPF와 DKIM 레코드도 추가로 설정해야 발신 메일이 스팸으로 분류되지 않아요.
Email Workers로 프로그래밍하기
단순 전달을 넘어서 이메일을 프로그래밍 방식으로 처리하고 싶다면 Email Workers를 사용할 수 있습니다. Cloudflare Workers의 확장 기능으로, 수신 이메일에 대해 자바스크립트 코드를 실행할 수 있어요.
특정 발신자의 메일만 전달하거나 제목에 특정 키워드가 포함된 메일을 다른 주소로 보내거나 수신 이메일 내용을 파싱해서 다른 API를 호출하는 것도 가능하죠.
export default {
async email(message, env, ctx) {
const from = message.from;
// 특정 발신자의 메일만 우선 처리
if (from.endsWith("@important-client.com")) {
await message.forward("priority@gmail.com");
return;
}
// 제목에 '[urgent]'가 포함된 메일은 긴급 메일함으로
const subject = message.headers.get("subject") || "";
if (subject.toLowerCase().includes("[urgent]")) {
await message.forward("urgent@gmail.com");
return;
}
// 나머지는 기본 메일함으로 전달
await message.forward("myname@gmail.com");
},
};
wrangler.toml 설정 파일에서 이메일 트리거를 연결해주면 됩니다.
name = "email-handler"
main = "src/index.js"
[triggers]
routes = []
# Email Routing과 연결
[[email_routing.matchers]]
type = "all"
[[email_routing.actions]]
type = "worker"
name = "email-handler"
Email Workers를 사용하면 메일 수신을 기반으로 Slack 알림을 보내거나 데이터베이스에 기록하거나 자동 응답을 생성하는 등 자동화 워크플로우를 구축할 수 있어요.
다른 서비스와 비교
커스텀 도메인으로 이메일을 사용하는 방법은 Cloudflare Email Routing 말고도 여러 가지가 있는데요. 각각 어떤 차이가 있는지 간단히 비교해보겠습니다.
Google Workspace는 가장 잘 알려진 선택지예요. 사용자당 월 $7.20부터 시작하는 유료 서비스인데 Gmail 인터페이스로 커스텀 도메인 이메일을 완전히 사용할 수 있습니다. 캘린더, 드라이브 같은 협업 도구도 포함되어 있어서 팀 단위로 쓰기에 좋죠. 다만 혼자 쓰거나 이메일만 필요한 경우에는 좀 과합니다.
Zoho Mail은 무료 플랜에서 최대 5명까지 커스텀 도메인 이메일을 제공해요. 웹메일 인터페이스가 있어서 별도의 메일 클라이언트 없이도 사용할 수 있고 보내기 기능도 기본 지원됩니다. 소규모 팀이나 개인 프로젝트에 괜찮은 선택이에요.
ImprovMX는 Cloudflare Email Routing과 비슷하게 이메일 포워딩 서비스를 제공합니다. 무료 플랜에서 25개 alias까지 지원하고 유료 플랜에서는 SMTP 발신도 가능해요. Cloudflare에 도메인이 없는 경우 대안이 될 수 있습니다.
Cloudflare Email Routing은 이 중에서 완전 무료라는 점이 가장 큰 강점이에요. 이미 Cloudflare에서 도메인을 관리하고 있다면 추가 비용 없이 바로 사용할 수 있고 Email Workers를 통한 프로그래밍 확장까지 가능하니까요. 반면 자체적인 발신 기능이 없다는 건 아쉬운 부분이고, 풀 기능의 메일 서비스가 필요하다면 Google Workspace나 Zoho Mail이 더 맞습니다.
마치며
Cloudflare Email Routing은 커스텀 도메인 이메일을 가장 간단하고 저렴하게 시작할 수 있는 방법입니다.
복잡한 메일 서버 설정이나 월 구독료 없이도 hello@mydomain.com 같은 전문적인 이메일 주소를 바로 사용할 수 있으니까요.
설정 과정도 몇 분이면 끝나고 Catch-all 규칙으로 주소를 유연하게 관리하거나 Email Workers로 자동화까지 확장할 수 있어서 개인 개발자부터 소규모 프로젝트까지 폭넓게 활용할 수 있습니다.
더 자세한 내용은 Cloudflare Email Routing 공식 문서를 참고하세요.
This work is licensed under
CC BY 4.0