메일링서비스 + iCloud+의 사용자도메인 + CloudFlare DNS

By | 2023-04-26

모 이메일마케팅 서비스를 이용해서 뉴스레터를 하나 보내다보니, 사용자 도메인을 사용해야할 이유가 있었다. 원래는 지메일에 “뉴스레터이름@gmail.com”을 하나 만들어서 이 메일 주소를 발신자 메일 주소로 사용했는데, 그러다보니

이 메일은 [gmail.com]을 통해 발송된 메일이 아닙니다.
보낸 사람의 주소가 실제 발송 주소와 다를 수 있으니 주의하시기 바랍니다.

라고 일부 메일 서비스에서 경고문구를 본문 상단에 노출시켰다. 보내는 사람 메일 주소는 @gmail.com 인데 실제로 메일 발송 서버는 이메일마케팅 회사의 서버이므로 나오는 메세지. 뉴스레터용으로 구입해 두었던 도메인이 있었으므로 이 도메인에서 발신하는 것으로 하고 SPF와 DKIM을 DNS에 넣기로 하였다. 이메일마케팅 서비스에서는 기본적으로 발신인이라고 적은 메일 주소가 맞는지 확인 메일을 하나 보내고 그 메일 본문에 있는 확인 링크를 클릭해야한다. 이를 위해서는 실제로 메일을 받을 수 있는 방법을 찾아야 했다. 메일 호스팅을 이용하면 비용이 들어가는데, 다행이도 iCloud+를 사용하고 있으므로 여기서 제공하는 사용자 설정 이메일 도메인 서비스를 이용하기로 하였다. 업무용으로 메일을 자주 주고받는다면 다소 불편할 것이긴할텐데 처음 받는 확인 메일 외에는 거의 쓸 일이 없으니 이 정도면 충분하겠다.

먼저 도메인에 지정된 호스팅회사의 네임서버를 CloudFlair의 DNS로 이전하였다. 이후 iCloud+의 사용자설정 이메일 도메인 서비스에서  내 도메인을 추가하고 DNS에 필요한 항목들을 채워넣었다. 이 도메인에서 받을 나의 메일 주소를 적는 단계가 있는데 아직은 메일을 받을 수 있는 상태가 아니니까 이 단계를 건너뛰는 것이 중요했다. 그 외 설정은 별로 어려운 것이 없었고 수 분이 지나자 DNS 설정이 완료된 것으로 iCloud+에서 확인되었다.

이후 뉴스레터 발신주소로 사용할 메일 주소를 생성했고 이메일마케팅 서비스에서 그 메일 주소를 새 발신주소로 지정했다. 인증 메일이 하나 자동으로 보내졌고 iCloud의 메일함에서 새 도메인으로 온 메일을 읽고, 인증 버튼을 누를 수 있었다.

다음은 SPF와 DKIM 정보를 넣는 것인데 여기서 잠깐 헛발질 했던 것이, 기존에 이미 iCloud+에서 알려준 값을 DNS에등록했는데 추가로 이메일마케팅 서비스에서 알려주는 같은 항목도 추가로 등록해야 해야 했다. 결론적으로 CNAME형식으로 들어가는 DKIM은 별개의 항목으로 각각 넣으면 되고, SPF는 TXT형식으로 한줄(!)로 통합해서 넣어야 했다.

첫번째 메일 서비스(AAA사)에서는 SPF를 v=spf1 include:AAA.com ~all 라고 넣으라 하고 두번째 메일 서비스(BBB사)에서는 v=spf1 include:BBB.com ~all 이라고 넣으라고 했다면 아래와 같은 형식으로 넣는 것이다.

v=spf1 include:AAA.com include:BBB.com ~all

해당 이메일마케팅 서비스에서 SPF와 DKIM이 제대로 설정되었는지를 체크하는 페이지에서 확인해보면 SPF값은 수 분 내 확인이 되었으나 DKIM은 계속 값을 읽어오지 못했다. icloud를 먼저 넣고 이 서비스의 호스트를 나중에 넣어서 그런가, 싶어서 위치를 바꿔 보았는데도 마찬가지였고 다행이 서너시간 지나서는 제대로 설정이 확인 되었다. 그 사이 테스트 메일을 네이버 메일로 보내보니 제대로 전달도 됐고 이 글의 첫부분에 예로 들었던 오류 메세지도 사라졌다. Learn and Test DMARC (via) 에서 테스트 해보니 PASS도 나왔길래 뭐 이 정도면 되지 않을까, 싶어서 일단 진행하기로.