Outlook이 DMARC 없는 도메인의 메일을 거절한다: 1분 점검과 레코드 한 줄

11월 5일부터 Outlook.com이 DMARC 레코드가 없는 도메인의 메일 일부를 거절하고 있습니다. 내 도메인이 해당하는지 확인하는 명령과, 추가할 레코드 한 줄을 정리합니다.

Outlook이 DMARC 없는 메일을 거절한다라는 제목과 반송 도장이 찍힌 항공우편 봉투
출처: MailRoute

작은 사무실이 보낸 한 줄짜리 답장이 Outlook.com 주소에서 반송될 수 있다. 메일 보안 업체 MailRoute는 11월 5일부터 Outlook.com이 DMARC 레코드가 없는 도메인의 메일 일부를 거부하기 시작했다고 11월 6일 글에서 밝혔다. 같은 날 다른 관리자들도 같은 반송을 보고했다. 받는 쪽이 outlook.com, hotmail.com, live.com, msn.com 주소일 때 해당한다.

어떤 메일이 반송되나

반송 메시지는 다음과 같다.

550 5.7.1 Message rejected: Message lacks SPF/DKIM/DMARC Auth Records (AS9031519)

발송량이 적어도 걸린다. 같은 도메인에서 보낸 메일이 어떤 건 들어가고 다음 건은 반송되며, 다시 보내면 도착하기도 한다. 반송 메시지에는 SPF, DKIM, DMARC 중 무엇이 문제인지 나오지 않는다.

하루 5,000통을 넘게 보내는 도메인에는 2025년 5월부터 SPF, DKIM, DMARC 통과를 요구하는 규칙이 있었고, 위반하면 550 5.7.515 Access denied를 받았다. 이번에는 발송량 기준 없이 DMARC 레코드가 없는 도메인 자체가 대상이다.

내 도메인이 해당하는지 1분에 확인한다

터미널에서 도메인을 바꿔 실행한다.

dig +short TXT _dmarc.example.com

출력이 "v=DMARC1로 시작하면 레코드가 있다. 아무것도 나오지 않으면 해당한다.

dig 명령으로 _dmarc TXT 레코드를 조회해, 출력이 없으면 v=DMARC1; p=none 레코드를 추가하고, 있으면 그대로 둔다는 흐름도.
출처: MailRoute의 확인과 해결 절차를 다시 그림

레코드 하나를 추가한다

DNS 관리 화면에서 TXT 레코드를 만든다.

  • 이름: _dmarc
  • 값: v=DMARC1; p=none

p=none은 인증에 실패한 메일에 아무 조치도 요구하지 않고 보고만 받겠다는 뜻이라, 처음 켜는 값으로 알맞다. 정책을 quarantine이나 reject로 올리는 일은 보고서로 정상 발송이 모두 통과하는지 본 뒤에 해도 된다.

레코드만으로 안 되는 경우

DMARC는 SPF나 DKIM 중 하나가 From 주소의 도메인과 맞아야 통과한다. 두 인증이 모두 다른 도메인으로 되어 있으면 레코드를 추가해도 통과하지 못한다. Microsoft 365를 쓰는 도메인은 DKIM을 직접 켜기 전까지 onmicrosoft.com 도메인으로 서명하는데, 이 서명은 DMARC 통과로 치지 않는다. Microsoft 365 관리 센터에서 내 도메인의 DKIM을 켜면 된다.

적용해 볼 점

쇼핑몰 주문 확인, 예약 안내, 견적 회신처럼 고객 메일 주소가 Outlook이나 Hotmail인 경우가 많은 업무 메일부터 점검한다. 도메인이 여러 개라면 하나씩 dig로 확인하고, 레코드가 없는 도메인에 p=none을 넣는다. 뉴스레터나 알림을 보내는 서비스는 발송 도메인이 내 도메인과 다를 수 있으니, 해당 서비스의 DKIM 설정 화면도 함께 확인한다.


출처: MailRoute, Outlook.com is rejecting email from domains without DMARC