도메인을 구매하고 이메일 서비스를 이용하다 보면 가끔 내가 보낸메일이 상대방의 스팸함으로 들어가는 문제가 발생할 수 있다. 이를 예방하고 이메일의 신뢰성을 높이기 위해 사용되는 세 가지 중요한 인증 기술이 있는데 바로 SPF, DKIM, DMARC이다.
이 글에서 이메일 인증이 처음인 분들도 쉽게 이해할 수 있도록 개념과 함께 실제 설정 방법까지 단계별로 설명하려고 한다.
SPF는 메일을 보내는 서버(IP)가 진짜 내 도메인에서 보낸 것인지 확인하는 기술이다.
비유하자면 "내 도메인으로 이메일을 보낼 수 있는 서버는 구글 서버입니다!" 라고 DNS에 미리 공지하는 것이다. 그렇지 않다면 다른 곳에서 메일을 보내는걸로 간주하여 수상한 이메일로 취급될수 있다.
DNS에 아래의 TXT 레코드를 추가하면 된다.
타입: TXT
호스트명: @
값: v=spf1 include:_spf.google.com ~all
이제 구글 워크스페이스(Gmail)에서만 이메일을 보낼 수 있도록 허용된다.
DKIM은 메일의 내용이 중간에서 변조되지 않았다는 것을 암호화된 서명으로 확인하는 기술이다.
비유하자면 이메일 발송 시 개인 도장(비밀키)으로 서명을 찍는것이라 할수 있다.
이를통해 이메일을 받은 쪽에서 공개된 도장(공개키)을 보고 변조 여부를 확인한다.
구글이 제공하는 DKIM 키는 다음 형태이다.
호스트명
google._domainkey
값(공개키)
v=DKIM1; k=rsa; p=긴공개키문자열...
타입: TXT
호스트명: google._domainkey
값: v=DKIM1; k=rsa; p=구글에서 제공한 공개키 문자열
DMARC는 SPF와 DKIM으로 인증되지 않은 이메일을 어떻게 처리할지 결정하는 정책이다. 비유하자면 SPF와 DKIM 인증을 통과하지 못한 이메일이 올 때 스팸함에 넣거나, 거부하거나, 혹은 보고서만 받을지 정의한다.
초기에는 보고서를 받아보고 문제를 확인하는 방식으로 설정한다.
타입: TXT
호스트명: _dmarc
값: v=DMARC1; p=none; rua=mailto:dmarc-report@내도메인.com;
나중에 안전하다고 판단되면,
| 설정 타입 | 호스트명 | 값 |
|---|---|---|
| SPF | @ | v=spf1 include:_spf.google.com ~all |
| DKIM | google._domainkey | v=DKIM1; k=rsa; p=긴공개키문자열 |
| DMARC | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc-report@내도메인.com; |
설정을 마친 후에는 MXToolbox(https://mxtoolbox.com/) 같은 도구로 잘 설정되었는지 점검해 볼수 있다.
이메일 인증설정을 하면 내 이메일이 신뢰성을 얻고 상대방의 메일함에서 스팸으로 분류되지 않을 가능성이 높아진다.
끝~