G메일 수신 정책 변경, 어떻게 조치해야 할까요? (2) - 자체 서버로 발송하는 경우

자체 서버 또는 AWS SES와 같은 클라우드 서비스를 사용해 이메일을 발송하는 경우에 필요한 기술적인 조치를 알아봅니다.

G메일 수신 정책 변경, 어떻게 조치해야 할까요? (2) - 자체 서버로 발송하는 경우

2024년 2월 1일부터 G메일의 새로운 이메일 수신 정책이 단계적으로 적용되고 있습니다. 스티비 팀도 실제로 어떤 영향이 발생하는지 면밀히 모니터링하고 대응하고 있습니다.

이 글을 읽으시는 분이 스티비를 사용하고 계시거나 스티비와 같은 이메일 발송 서비스를 사용하고 계시다면 아래 내용을 조치해 주시면 됩니다.

간단하게 요약하면 이런 내용입니다.

  1. 발신자 주소 도메인에 대한 SPF, DKIM 설정
  2. 구글 포스트마스터 툴 기준 스팸 비율 0.1% 미만 유지 권장, 0.3% 미만 유지 필수
  3. G메일에서 직접 발송하는 경우가 아니면 gmail.com 발신자 주소를 사용하면 안됨.
  4. (대량 발송 시) 발신자 주소 도메인에 대한 DMARC 설정
  5. (대량 발송 시) 마케팅 이메일, 뉴스레터 내 수신거부 링크 명시

자세한 내용은 G메일 수신 정책 변경, 어떻게 조치해야 할까요? (1) - 스티비에서 발송하는 경우를 참고해 주세요.

스티비와 같은 이메일 발송 서비스를 사용하지 않고 이메일 발송 서버를 직접 구축하거나 AWS SES와 같은 클라우드 서비스를 사용해 이메일을 발송하고 있다면, 이 5가지 내용 외에도 추가로 더 확인하거나 조치해야 하는 게 있습니다.

이메일의 헤더 구조, 인증 체계 등이 익숙하지 않다면 번거롭고 불편하게 느껴지실 수 있지만, 대부분 기술적으로 어렵지 않은 내용입니다.


모든 발신자가 조치해야 하는 것

1. 역방향 DNS 레코드(PTR 레코드) 설정

발신자 이메일 주소로 사용하는 도메인의 IP 주소에 PTR 레코드를 추가해 역방향 DNS 레코드를 설정해야 합니다. 이때, 역방향 DNS 레코드는 정방향 DNS 레코드와 서로 일치해야 합니다. AWS(아마존 웹 서비스), GCP(구글 클라우드 플랫폼)와 같은 클라우드 서비스를 사용하고 있다면, 보통 IP 주소를 설정하는 곳에서 역방향 DNS 레코드를 설정할 수 있습니다. (AWS 도움말, GCP 도움말)

IP 주소를 직접 구매해 사용하고 있다면 KT, LG U+, SKB와 같은 ISP 업체에 문의해야 합니다.

2. 이메일 전송 시 TLS 연결 사용

웹사이트를 접속할 때 HTTP가 아닌 HTTPS를 사용하는 것처럼, 이메일을 발송할 때도 보안 프로토콜인 TLS 연결을 사용해야 합니다.

일반적인 상용 솔루션, 라이브러리는 TLS 연결을 기본적으로 지원합니다. 구체적인 사용 방법은 사용하시는 솔루션, 라이브러리의 문서를 참고하세요. TLS 연결에 대한 기본적인 내용이 궁금하시면 TLS란?을 참고하세요.

G메일에서 발신자 이름 옆의 화살표(▼)를 클릭하면 이메일의 TLS 연결 사용 여부를 확인할 수 있습니다. 

G메일의 TLS 연결 사용 여부 표시

3. RFC 5322(인터넷 메시지 서식 표준) 준수

RFC 5322는 이메일의 메시지 구조, 헤더 필드, 메시지 구문, 메시지 형식 등을 정의하고 있습니다. 각 헤더는 중복되지 않아야 하고 각 헤더의 용도에 맞는 값을 넣어 이메일을 발송해야 합니다.

헤더를 중복 사용해 발신자를 사칭하는 경우가 있기 때문에 G메일과 같은 수신 서비스에서는 중복된 헤더를 사용하는 이메일, 즉 RFC 5322를 준수하지 않는 이메일은 스팸으로 분류해 차단합니다. (Gmail의 RFC 5322 반송 문제 도움말)

상용 솔루션이나 라이브러리를 사용하는 경우 대부분 특별히 신경쓰지 않아도 RFC 5322를 준수할 수 있습니다. RFC 5322에 대한 자세한 내용이 궁금하시면 이 표준에 대한 공식 문서를 참고하세요.

4. List-id: 헤더 추가

스티비와 같은 이메일 발송 서비스에서는 이메일을 수신하는 사람들을 ‘주소록', ‘List’ 등의 단위로 관리합니다. 발송 서버를 직접 구축해 발송하는 경우에도 이메일 수신자를 특정 단위로 묶어 관리하게 됩니다. 여기에는 내 서비스에 가입한 회원, 내 뉴스레터를 구독한 구독자 등이 포함됩니다.

이렇게 이메일 수신 그룹이 정의되어있다면, List-id 헤더에 이 그룹에 대한 고유값을 추가해야 합니다. 예를 들어, 스티비에서는 ‘주소록'의 고유값을 List-id 헤더에 추가하고 있습니다.

G메일에서는 List-id 헤더 값을 참고해 G메일 사용자가 여러 이메일이 하나의 수신 그룹에게 발송된 것이라는 것을 알 수 있게 합니다. 예를 들면, 이메일 A와 B가 내가 구독한 특정 뉴스레터의 이메일이라는 것을 구분할 수 있고, 이 단위로 이메일을 필터링할 수도 있습니다.

G메일에서 발신자 이름 옆의 화살표(▼)를 클릭하면 메일링 리스트 정보를 획안하고, 이 기준으로 필터를 만들 수 있습니다.

List-id 헤더 값을 참고한 G메일의 메일링 리스트 정보 표시

* G메일의 가이드에는 ARC 헤더에 대한 내용도 있습니다. 이 내용은 이메일을 발송할 때 필요한 것은 아니고, 수신한 이메일을 다른 곳으로 전달(포워딩)할 때 필요한 것입니다. 일반적인 마케팅 이메일, 뉴스레터 등을 발송하는 상황과 다르기 때문에, 이 글에서는 자세히 설명하지 않습니다. ARC 헤더에 대한 자세한 내용이 궁금하면 ARC 이메일 인증을 참고하세요.

대량 발신자가 조치해야하는 것

* G메일에서는 G메일 수신자에게 하루에 5,000건 이상의 이메일을 보내는 경우를 '대량 발송'으로 정의하고 있습니다. 일반적인 사용자가 이를 정확히 구분하기 어렵기 때문에, 전체 발송량이 하루 5,000건을 넘으면 이 내용을 기준으로 조치하시는 것을 권장합니다.

1. DMARC 정책에 맞는 SPF, DKIM 도메인 정렬

SPF, DKIM 설정은 이메일 수신 서비스에서 이메일 발신자를 신뢰할 수 있는지 검증해 수신자에게 스팸 메일이 전달되는 것을 막기 위해 널리 사용되는 방법입니다.

DMARC 설정은 내 도메인을 도용해 이메일이 발송되는 것을 방지하고 이를 모니터링할 수 있는 방법입니다.

DMARC에서는 SPF, DKIM 인증에 사용된 도메인과 발신자 도메인이 정렬되어 있는지 검사합니다. DMARC를 통과하려면 SPF, DKIM 인증에 사용된 도메인 중 1개 이상의 도메인이 발신자 도메인(From 헤더 도메인)과 정렬되어야 합니다.

정렬하는 방식에는 ‘엄격한 정렬’과 ‘완화된 정렬’이 있습니다. ‘엄격한 정렬’은 완벽히 일치해야 하고 ‘완화된 정렬’은 서브도메인을 사용해도 됩니다.일반적으로 DMARC의 도메인 정렬 정책을 ‘완화된 정렬’로 설정해 충족시키는 것만으로도 충분합니다.

예 1. DMARC의 완화된 도메인 정렬 기준을 충족함. SPF, DKIM 도메인 모두 정렬됨.

  • 발신자 이메일 주소: user@yourdomain.com
  • SPF 인증에 사용된 도메인: mail.yourdomain.com
  • DKIM 인증에 사용된 도메인: dkim.yourdomain.com

예2. DMARC의 완화된 도메인 정렬 기준을 충족함. SPF 도메인만 정렬됨.

  • 발신자 이메일 주소: user@yourdomain.com
  • SPF 인증에 사용된 도메인: mail.yourdomain.com
  • DKIM 인증에 사용된 도메인: dkim.notyourdomain.com

예3. DMARC의 완화된 도메인 정렬 기준을 충족하지 않음. SPF, DKIM 도메인 모두 정렬되지 않음.

  • 발신자 이메일 주소: user@yourdomain.com
  • SPF 인증에 사용된 도메인: mail.notyourdomain.com
  • DKIM 인증에 사용된 도메인: dkim.notyourdomain.com

SPF, DKIM 인증에 사용된 도메인은 수신한 이메일의 헤도에서 확인할 수 있습니다. G메일에서 [답장] 옆의 더보기 아이콘 > [원문 보기]를 클릭하면 이메일의 헤더 정보가 표시됩니다. SPF 인증에 사용된 도메인은 ‘Return-path’ 헤더, DKIM 인증에 사용된 도메인은 ‘DKIM-Signature’ 헤더의 ‘d’ 값을 확인하면 됩니다.

G메일의 [원문 보기]에서 확인한 SPF, DKIM 인증에 사용된 도메인

DMARC의 도메인 정렬에 대한 자세한 내용이 궁금하면 DMARC 정렬 옵션 을 참고해 주세요.

2. 원클릭 수신거부를 위한 수신거부 관련 헤더 추가

이메일 본문에 수신거부 링크를 추가하는 것 외에도, 이메일 헤더에 수신거부 관련 헤더를 추가해 G메일과 같은 수신 서비스에서 수신자에게 원클릭 수신거부를 제공할 수 있게 해야 합니다.

List-Unsubscribe 헤더에는 수신거부 페이지 URL이 아닌 수신거부 요청을 하는 API 엔드포인트를 입력해야 합니다. 이 경로로 수신거부에 대한 POST 요청이 전송됩니다.

수신거부 관련 헤더를 추가하면 G메일에서 발신자 이름 옆의 화살표(▼) 옆에 [수신거부]가 표시됩니다.

List-Unsubscribe 헤더 값을 참고한 G메일의 [수신거부] 표시

[수신거부]를 클릭하면 수신거부를 확인하는 창이 표시됩니다. 이 창에서 [수신거부]를 클릭하면 별도의 수신거부 화면을 거치지 않고 수신거부 요청이 바로 전송됩니다. (스티비에서는 이 요청에 따라 구독자 상태가 바로 변경됩니다.)

G메일의 수신거부 확인 창

예전과 비교하면 몇 가지 작업을 거쳐야 이메일을 문제없이 발송할 수 있게 됐습니다. 예전에도 이런 작업을 거치지 않으면 스팸으로 분류될 확률이 높았겠지만, 그 영향을 체감하기 어려워 불필요한 작업으로 여겨지는 경우도 있었습니다.

장기적으로는 스팸 메일이 줄어들고 이메일에 대한 신뢰도가 높아지는 변화라고 생각합니다. 스티비 팀은 이런 변화를 적극적으로 반영하고 있습니다.

스티비 팀은 아마 우리나라에서 가장 많은 이메일 발송을 처리하는 팀 중 하나일텐데요, 이번 G메일 정책 변경 대응을 포함해 이메일 발송과 관련해 궁금하신 게 있거나 도움이 필요하시면 언제든 이메일(support@stibee.com) 또는 채팅(스티비 로그인 후 화면 오른쪽 아래 물음표 버튼)으로 말씀해 주세요.

참고

G메일 수신 정책 변경, 어떻게 조치해야 할까요? (1) - 스티비에서 발송하는 경우
G메일 이메일 발신자 가이드라인
야후 메일 발신자 요구사항 및 권장사항(영문)