중소기업이 특정 서비스에 묶이지 않고 대량 메일을 설계하는 방법

· 업데이트: · · 메일 발송, 기존 자산 활용, 문의 동선 개선, Web 제작·SEO, B2B

수정 이력(3건, 최종 수정 2026년 08월 02일)

이 글에 적용한 변경 사항의 기록입니다. 보관해 둔 수정 전 버전은 DOI가 부여된 고정 URL에서 읽을 수 있습니다.

글 맨 앞에 「이 글의 지식 맵」절을 추가했습니다. 본문에서 다루는 개념과 그 관계를 요약·그림·상세 페이지 링크로 정리한 것입니다. 본문의 주장은 바꾸지 않았습니다.
외부 리뷰(1283건) 대응으로 본문을 갱신했습니다. 개별 변경 내용은 아래 이력을 참고하십시오.
맨 앞에 SPF·DKIM·DMARC·alignment 등의 약어 표를 추가하고 RFC 각주를 달았습니다. 구성도에 같은 내용의 글머리 기호도 함께 적었고, 출구와 발송 엔진을 고르는 절(Microsoft 365의 4가지 방식, 온프레미스 Exchange, listmonk)과 다음에 찾아볼 키워드 절을 새로 만들었습니다.
최초 공개
이 글을 인용하기(DOI: 10.5281/zenodo.21635230)

이 글은 Zenodo에 보관되어 있습니다. 항상 최신 버전으로 연결되는 DOI와 지금 보고 있는 버전에 고정된 DOI를 아래에 함께 제시합니다.

Go Komura (2026). 「중소기업이 특정 서비스에 묶이지 않고 대량 메일을 설계하는 방법」. 합동회사 코무라소프트. https://doi.org/10.5281/zenodo.21635230 https://comcomponent.com/ko/blog/sme-bulk-email-vendor-neutral-practical-guide/

DOI(최신 버전)
10.5281/zenodo.21635230
DOI(이 버전)
10.5281/zenodo.21635231

「전용 뉴스레터 발송 서비스를 새로 늘리지 않고, 기존 도메인과 사이트로 수십~수백 건의 안내 메일을 보내고 싶다」. 이 상담에 대한 현실적인 답은 Bcc 일괄 발송이 아니라, 수신자별 개별 발송, 구독 관리, 구독 해지, SPF / DKIM / DMARC를 갖춘 작은 발송 기반으로 만드는 것입니다.

여기서 말하는 「특정 서비스를 쓰지 않는다」는 「아무것도 쓰지 않는다」가 아닙니다. SMTP라는 표준, 구독자 리스트, 템플릿, 구독 해지 동선을 자사 쪽에 두고, 발송 수단만 나중에 갈아끼울 수 있는 구성으로 한다는 뜻입니다.

또한 이 글에서는 기존 고객, 회원, 자료 청구자, 뉴스레터 구독자처럼 어떤 관계나 동의가 있는 상대에게 보내는 메일을 전제로 합니다. 공개 주소를 모아 무차별 발송하는 이야기가 아닙니다. 광고·홍보 메일에는 법적 전제가 있고, 발송 품질 면에서도 그 방식은 오래가지 않습니다.12

이하는 2026년 4월 시점에 확인할 수 있는 일본의 특정전자메일법 관련 공적 정보와, Google / Yahoo / Outlook의 발송자 가이드라인을 전제로 한 정리입니다.12345

이 글의 대상 독자와 전제

항목 내용
대상 독자 중소기업에서 고객·회원·잠재 고객에게 안내 메일을 실제로 보내는 담당자. 정보시스템, Web 담당, 총무 겸임 누구든 읽을 수 있게 썼습니다
가정 규모 1회당 수십~수백 건. 월 1회에서 주 1회 정도
전제로 하는 메일 환경 특정 환경에 의존하지 않습니다. Microsoft 365, Google Workspace, 온프레미스 Exchange, 임대 서버 SMTP, 어느 쪽이든 설계는 같습니다. 차이가 나는 것은 4장의 「SMTP 릴레이」 부분뿐입니다
전제로 하는 상대 기존 고객, 회원, 자료 청구자, 뉴스레터 구독자처럼 어떤 관계나 동의가 있는 상대
필요한 권한 발송 도메인의 DNS 레코드를 추가할 수 있을 것(SPF / DKIM / DMARC 설정에 필요합니다). 여기만은 계약처나 관리 회사에 의뢰가 필요할 수 있습니다

이 글에서 쓰는 약어

2장 이후에서 설명 없이 나오는 말을 먼저 정리합니다.

약어 정식 명칭 한 줄로 말하면
SPF Sender Policy Framework 「이 도메인의 메일을 보내도 되는 발송원은 여기」를 DNS에 적어 두고, 수신 측이 대조하는 구조. 발신인 사칭을 막기 위해 만들어졌습니다6
DKIM DomainKeys Identified Mail 발송 측이 메일에 전자 서명을 붙이고, 수신 측이 DNS상의 공개 키로 검증하는 구조. 서명한 도메인이 그 메일에 책임을 진다는 뜻입니다7
DMARC Domain-based Message Authentication, Reporting, and Conformance SPF / DKIM 결과를 바탕으로, 인증에 실패한 메일을 어떻게 다뤄 주기를 원하는지 도메인 소유자가 선언하는 구조. p=none(아무것도 하지 않음), p=quarantine(격리), p=reject(거부) 3단계를 지정할 수 있습니다8
alignment(일치) 수신자에게 보이는 From 도메인과, SPF / DKIM이 검증한 도메인이 일치하는 것. DMARC는 여기를 봅니다8
PTR IP 주소에서 호스트 이름을 조회하는 reverse DNS 레코드. 「reverse lookup이 된다」는 이것이 설정된 상태입니다
List-Unsubscribe 메일 헤더에 구독 해지 대상을 적어 두는 구조. 수신 측 메일 소프트웨어가 「등록 해제」 버튼으로 표시합니다
원클릭 구독 해지 List-Unsubscribe에 더해 List-Unsubscribe-Post: List-Unsubscribe=One-Click을 붙여, 확인 화면 없이 해지할 수 있게 한 것9
opt-in 수신자가 본인 의사로 구독을 신청한 상태. 반대로 명함이나 리스트 구매로만 모은 주소는 opt-in이 아닙니다
bounce 주소 불명 등으로 배달되지 않고 돌아오는 것. 주소가 존재하지 않는 등 영구 실패를 hard bounce라고 합니다
complaint(신고) 수신자가 「스팸」 버튼을 누른 것. 이 비율이 spam rate입니다
SMTP 릴레이 직접 만든 발송 구조에서, 실제로 인터넷으로 메일을 보내 주는 출구

1. 먼저 결론

중소기업이 외부향 대량 메일에서 현실적으로 취해야 할 형태는 대체로 다음 4점입니다.

  1. 수신자별로 개별 발송한다 Bcc에 모아 넣는 것이 아니라, 한 통씩 보낸다는 전제로 큐를 구성합니다.
  2. 구독 상태를 자사에서 가진다 active, unsubscribed, bounced 같은 상태 관리를 자사 DB나 CSV에 분명히 둡니다.
  3. 구독 해지를 자동으로 접수한다 「이제 보내지 마세요」를 수작업으로 처리하는 운영으로 두지 않습니다. 본문에 보이는 링크와, 가능하면 List-Unsubscribe를 넣습니다.345
  4. 발송 도메인을 인증한다 SPF / DKIM / DMARC, reverse PTR, TLS를 갖춥니다. 보낼 수 있더라도, 이것이 없으면 도달하기 어려워집니다.345

요컨대 메일 소프트웨어 조작의 문제가 아니라, 발송 기반의 문제입니다.

「한꺼번에 보내고 싶다」는 요건을 To / Cc / Bcc에 잔뜩 늘어놓는 것으로 생각하면 무너집니다. 실제로 필요한 것은 이런 구조입니다.

  • 누구에게 보내도 되는가
  • 이제 보내서는 안 되는 상대는 누구인가
  • 무슨 목적으로 동의를 받았는가
  • 구독 해지를 어떻게 받을 것인가
  • 발송원으로서 신뢰받는 설정이 되어 있는가

이 글의 지식 맵

중소기업이 특정 메일링 서비스에 의존하지 않고 대량 메일을 보내려면, Bcc 일괄 발송이 아니라 구독자 테이블·억제 테이블·발송 큐로 구성된 발송 기반을 자사 측에 두고 SMTP 릴레이라는 출구만 교체할 수 있는 구성으로 만드는 것이 현실적입니다. 억제 테이블은 발송 중지와 bounce를 구독자 테이블보다 우선시키고, 발송 큐는 거기서 SMTP 릴레이로 송신을 넘깁니다. 발신 도메인은 SPF·DKIM·DMARC로 인증하고, 역방향 PTR과 List-Unsubscribe를 갖춤으로써 Google이나 Yahoo가 요구하는 불만율 기준을 충족할 수 있습니다. 특정 전자메일법은 opt-in의 사전 동의와 발신자 표시 의무를 부과하며, listmonk와 같은 OSS는 이 구조를 그대로 셀프 호스트로 구현하고 있습니다.

대량 메일 발송 기반의 지식 맵Bcc 일괄 발송의 한계, 구독자 테이블·억제 테이블·발송 큐로 구성된 자체 설계 발송 기반, SMTP 릴레이의 출구 선택, SPF·DKIM·DMARC에 의한 발신 도메인 인증, opt-in이나 표시 의무 등의 법령 요건이 어떻게 관계하는지를 보여주는 그림이용한다이용한다이용한다사용은 비권장권장되는 대응전제로 한다전제로 한다이용한다에서 구성할 수 있다전제로 한다전제로 한다전제로 한다전제로 한다권장되는 대응전제로 한다전제로 한다완화한다완화한다구현을 담당한다전제로 한다양립하지 않는다권장되는 대응자체 설계 발송 기반(구독자 테이블·억제 테이블·발송 큐)수신자별 개별 발송구독자 테이블억제 테이블배달 큐Bcc 일괄 전송SMTP 릴레이Microsoft 365의 SMTP 송신 방식(4가지)SPF(Sender Policy Framework)DMARCDKIM(DomainKeys Identified Mail)역방향 PTRList-Unsubscribe 헤더/원클릭 수신 거부특정 전자메일법opt-in(사전 동의)발신자 표시 의무스팸 신고율(spam rate)listmonk

그림의 실선은 항상 성립하는 관계, 점선은 조건이 붙는 관계입니다(성립 조건은 상세 페이지의 관계별 설명에 적혀 있습니다). 관계 전체 목록(총 22건, 근거와 확신도 포함)과 주요 개념의 정의는 지식 맵 상세 페이지에 정리되어 있습니다(일본어). 데이터: JSON-LD / Turtle

2. 왜 Bcc 일괄 발송으로는 부족한가

외부향 일괄 발송에서 Bcc가 힘든 이유는, 겉보기는 쉬운데 운영의 본체를 하나도 갖지 못하기 때문입니다.

문제 무엇이 일어나는가 나중에 곤란해지는 것
구독 해지를 따라갈 수 없다 「이제 보내지 마」가 메일 회신이나 전화로 온다 다음 발송에서 오발송하기 쉽다
bounce 관리가 없다 존재하지 않는 주소에도 계속 보낸다 평판이 떨어지기 쉽다
동의 기록이 없다 언제, 어디서 승낙되었는지 설명할 수 없다 법무·클레임 대응이 약하다
발송 종류가 섞인다 영업 메일과 알림 메일을 같은 상자에서 보낸다 일상의 수발주 메일까지 휩쓸리기 쉽다
속도를 제어할 수 없다 한 번에 몰아 보내기 쉽다 제한이나 스팸 판정을 받기 쉽다
담당자 의존이 된다 개인 메일 클라이언트와 개인 작업으로 돌아간다 인수인계가 어렵다

특히 위험한 것은 「보내는 것」은 되므로, 구조로서 성립한 것처럼 보이는 점입니다. 하지만 실제로는 발송 정지, bounce 억제, 동의 기록, 발송 로그가 없는 상태이므로, 인원이 조금 늘어난 순간에 수작업 운영이 무너집니다.

Bcc가 완전히 나쁜 것은 아닙니다. 사내 연락, 비공개 회원에 대한 극소규모 안내, 단발 관계자 연락이라면 가능한 경우도 있습니다. 다만 외부 고객이나 잠재 고객에게 계속 보내는 구조의 토대로는 약하다는 이야기입니다.

3. 「특정 서비스를 쓰지 않는다」의 현실적인 의미

여기서 오해하기 쉬운 점은, 「특정 서비스를 쓰지 않는다」=「전부 손으로 한다」가 아니라는 것입니다.

실무에서는 다음 3가지를 자사 쪽에 두고 있으면, vendor lock-in을 꽤 피할 수 있습니다.

3.1 자사가 가져야 할 것

  • 구독자 데이터
    • 메일 주소
    • 동의 시각
    • 동의 취득 경로
    • 발송 카테고리
    • 구독 해지 상태
  • 발송 규칙
    • 무엇을 누구에게 보낼지
    • 어느 속도로 보낼지
    • bounce나 구독 해지를 어떻게 반영할지
  • 발송자 identity
    • 발송 도메인
    • SPF / DKIM / DMARC
    • 회신을 받을 메일 주소
    • 구독 해지 URL

3.2 갈아끼워도 되는 것

  • 실제로 보낼 SMTP 릴레이
  • 관리 화면의 구현 방식
  • 발송 큐의 구현 장소
  • 로그 보관처

즉 「서비스를 쓰지 않는다」의 본질은 발송 규칙과 상태를 상대 쪽에 전부 맡기지 않는 것입니다.

  • 수신자 리스트는 자사 DB에 있다
  • 구독 해지 URL은 자사 도메인 아래에 있다
  • 제목과 본문 템플릿은 자사에서 가진다
  • SMTP 출구만 나중에 갈아끼울 수 있다

이 형태라면 처음에는 기존 메일 기반을 쓰고, 나중에 다른 발송 수단으로 옮길 수도 있습니다.

4. 중소기업에 현실적인 구성

4.1 최소한의 부품

수십~수백 건/회 정도라면, 처음부터 거창한 구조는 필요 없습니다. 다만 최소한 이 정도는 나눠 두는 편이 안정됩니다.

  1. 구독자 테이블
  2. suppression 테이블
    • 구독 해지
    • hard bounce
    • complaint
  3. 발송 템플릿
    • 제목
    • 본문(HTML / text)
    • 발송 카테고리
  4. 발송 큐
    • 수신자별 상태
    • 발송 결과
    • 재시도 횟수
  5. SMTP 릴레이
    • 기존 메일 기반을 쓸지
    • 자체 서버를 쓸지
  6. 로그
    • 언제 누구에게 보냈는지
    • 성공 / 실패
    • 해지 / bounce 반영

오픈율이나 클릭률의 고도 계측은 처음부터 필수가 아닙니다. 먼저 필요한 것은 안전하게 보내고, 멈출 수 있고, 설명할 수 있는 것입니다.

4.2 발송 대상 테이블에서 가질 항목

최소한의 항목은 이 정도입니다.

항목 이유
email user@example.com 수신 주소 그 자체
status active / unsubscribed / bounced 보내도 되는 상대인지 판정하기 위해
consent_at 2026-03-20 12:34:56 언제 동의를 받았는지 남기기 위해
consent_source 폼 / 전시회 / 기존 계약 / 수기 입력 어디서 들어왔는지 설명하기 위해
consent_purpose 뉴스레터 / 세미나 안내 / 유지보수 정보 어떤 발송에 동의했는지 남기기 위해
unsubscribed_at 2026-03-29 09:10:11 구독 해지 증적
last_bounce_at 2026-03-30 08:00:00 재발송 억제 판단에 필요
notes 담당 경유 / 기존 고객 보충 정보

처음 마스터가 Excel이나 기존 고객 명부라도, 여기까지는 나눠 두는 편이 좋습니다. 특히 중요한 것은 suppression 정보가 항상 우선되는 것입니다.

예를 들어 영업 명부에 그 사람의 주소가 남아 있어도, suppression 테이블에서 unsubscribed이면 보내지 않습니다. 이 규칙이 없으면 구독 해지 후에 다른 경로로 다시 섞여 들어와 사고가 납니다.

4.3 구성도

홈페이지 / 구독 폼구독자 테이블기존 고객 명부 / 회원 명부발송 템플릿제목 / HTML / text발송 큐suppression 테이블구독 해지 / bounce / complaintSMTP 릴레이기존 메일 기반 or 자체 릴레이수신자구독 해지 URL회신bounce / complaint운영 창구SPF / DKIM / DMARC / PTR / TLS

그림이 보이지 않는 환경을 위해, 같은 내용을 글로도 적습니다.

  • 입구: 홈페이지의 구독 폼과, 기존 고객 명부·회원 명부. 둘 다 구독자 테이블로 모읍니다.
  • 중심: 발송 큐에 구독자 테이블(누구에게 보낼지), suppression 테이블(보내서는 안 되는 상대), 발송 템플릿(제목·HTML·text) 세 가지가 들어갑니다.
  • 출구: 발송 큐에서 SMTP 릴레이(기존 메일 기반 또는 자체 릴레이)로 넘기고, 거기서 수신자에게 도달합니다. SMTP 릴레이에는 SPF / DKIM / DMARC / PTR / TLS 설정이 연결됩니다.
  • 되돌아오는 경로: 수신자로부터 3방향의 반응이 돌아옵니다. 구독 해지 URL과 bounce·complaint는 suppression 테이블로 되돌리고, 회신은 운영 창구 담당자가 받습니다.

이 그림의 핵심은 발송 수단이 중심이 아니라는 것입니다. 중심은 구독자 테이블suppression 테이블발송 큐입니다.

SMTP 릴레이는 출구에 지나지 않습니다. 여기가 나뉘어 있으면, 나중에 발송 수단을 바꿔도 과거의 구독 해지나 동의 이력을 잃지 않습니다.

4.4 출구와 발송 엔진을 고르는 방법

「자사에서 가질 것」과 「갈아끼워도 되는 것」을 나눈 뒤, 실제로 손을 움직이는 단계가 되면 다음에 볼 것은 이 두 가지입니다.

1. 출구(SMTP 릴레이)를 무엇으로 할지

이미 쓰는 메일 기반을 그대로 출구로 쓸 수 있는 경우가 많습니다. 예를 들어 Microsoft 365라면, 메일박스가 없는 장치나 앱에서 보내기 위한 방식이 공식으로 정리되어 있고, 인증이 있는 Client SMTP submission, 커넥터를 쓰는 SMTP relay, 인증 없는 Direct Send, 사내 대상 대량 발송용 High Volume Email 네 가지가 발송 한도와 필요한 TLS·포트와 함께 비교되어 있습니다.10 온프레미스 메일 서버(Exchange Server 등)가 있는 경우에는, 그쪽에서 릴레이를 받는 편이 구성하기 쉽다고도 안내되어 있습니다.10

고를 때 보는 것은 대체로 이 4점입니다.

볼 곳 왜 보는가
1일·1분당 발송 한도 수백 건을 한 번에 흘렸을 때 막히지 않는지
인증 방식(사용자 / 인증서 / 고정 IP) 운영에서 비밀번호를 돌려 쓰지 않아도 되는지
외부로 보낼 수 있는지 사외 고객에게 보낸다면 필수입니다
SPF에 어떻게 쓸지 출구를 바꾸면 SPF도 고쳐야 합니다

2. 발송 엔진을 만들지, 기존 OSS에 올릴지

구독자 테이블, suppression 테이블, 발송 큐, 구독 해지 페이지를 전부 자체 제작하는 것은 생각보다 손이 갑니다. 같은 구조를 가진 셀프호스트형 OSS가 있으므로, 먼저 그것으로 충분한지 보는 것이 지름길입니다. 예를 들어 listmonk는 AGPLv3의 셀프호스트형 뉴스레터 발송 소프트웨어로, 싱글 / 더블 opt-in의 구독자 리스트 관리, 캠페인 발송 실적과 bounce 집계, 여러 SMTP를 쓰는 큐를 갖추고 있습니다.11

판단의 기준은 이렇게 됩니다.

상황 현실적인 선택
기존 고객 명부와 밀접하게 연동하고 싶다 자체 제작. 다만 suppression 테이블과 구독 해지 페이지만은 처음부터 만든다
메일 발송 기능만 필요하다 셀프호스트형 OSS를 세우고, SMTP 릴레이만 자사 것을 가리킨다
서버를 자사에서 가지고 싶지 않다 발송 서비스를 쓴다. 다만 구독자 데이터와 구독 해지 URL은 자사 도메인 쪽에도 둔다

어느 경우든 구독자 데이터·suppression 데이터·구독 해지 URL을 자사 쪽에 남긴다는 원칙은 바뀌지 않습니다. 여기만 지키면 출구도 발송 엔진도 나중에 바꿀 수 있습니다.

5. 규모별로 어디까지 만들까

5.1 월 1회·수십 건

이 규모라면 최소 구성으로 충분한 경우가 많습니다.

  • 발송 전용 치환 템플릿
  • 수신자별 개별 발송
  • 구독 해지 URL
  • 발송 로그 보존
  • SPF / DKIM / DMARC 정비

여기서의 핵심은 인원이 적어도 Bcc로 돌아가지 않는 것입니다. 50건 이하여도, 외부향 지속 발송이라면 이미 개별 발송 + 상태 관리 형태로 두는 편이 나중에 편합니다.

5.2 월 수회·수백 건

이 단계에 왔다면, 몇 가지를 더하는 편이 안정됩니다.

  • 발송 큐
  • 발송 속도 제어
  • bounce 반영
  • 구독 해지의 즉시 반영
  • 발송 전용 서브도메인
  • 승인 플로
    • 테스트 발송
    • 실제 발송
    • 결과 확인

또한 일상의 사람 메일과 판촉·안내 메일을 나누는 것이 중요합니다. Google은 메시지 종류마다 From 주소나 IP를 나누는 관점을 보이고 있고, Yahoo도 bulk / marketing과 transactional / alerts를 같은 IP나 DKIM 도메인에 섞지 말라고 안내합니다.34

예를 들어 용도마다 주소를 나누는 것만으로도 운영이 꽤 정리됩니다.345

  • 수주 확인·청구계: billing@example.com
  • 장애 알림·유지보수 정보: notice@example.com
  • 뉴스레터·안내: news@example.com

5.3 하루 수천 건에 가까워진다면

여기까지 오면 「특정 서비스를 쓰지 않는 것」 자체가 목적이 되기 쉽습니다.

Google은 Gmail 대상으로 하루 5,000통 초과 발송자에게 SPF / DKIM / DMARC, From 도메인 alignment, 원클릭 구독 해지 등의 요건을 명시하고 있습니다. Outlook도 하루 5,000통 초과 도메인에 SPF / DKIM / DMARC를 요구하고, 요건을 충족하지 않는 메시지는 스팸함으로 보내지거나 거부 대상이 될 수 있다고 안내합니다.35

이 규모가 되면 운영의 주제도 바뀝니다.

  • IP 평판
  • 신고율
  • bounce율
  • 구독 해지 처리
  • 볼륨을 늘리는 방법
  • 감시

이 단계라면 전용 서비스를 쓰는 편이 저렴한 경우도 많습니다.

즉 이 글의 결론은 「어느 규모여도 전부 자체로 해야 한다」가 아니라, 수십~수백 건 규모라면, 상태와 규칙을 자사에서 가진 작은 발송 기반이 알맞다는 것입니다.

6. 법무와 발송 품질에서 최소한 빼놓을 수 없는 것

6.1 동의

광고·홍보 메일은 원칙적으로 사전 동의가 필요합니다. 스팸메일상담센터의 정리에서도, 사전 승낙 없이 광고 홍보 메일을 보내는 것은 원칙적으로 불가라고 되어 있습니다.2

또한 Google도 Yahoo도 수신자가 명시적으로 원한 메일만 보낼 것, 구매 리스트를 쓰지 말 것, 자동 체크된 opt-in을 피할 것을 요구합니다.34

실무에서 최소한 남기고 싶은 것은 이 정도입니다.

  • 동의 시각
  • 동의 취득 경로
  • 어떤 발송인지
  • 설명 문구
  • 동의를 받은 화면 또는 문구

덧붙여 법률상으로는, 홈페이지에 공개된 사업용 주소로의 발송에 예외 규정이 있습니다. 다만 그 예외에 의존해 발송 기반을 만드는 것은 권하지 않습니다. 클레임, 도달률, 평판, 실제 반응률 중 무엇을 보더라도 오래가기 어렵기 때문입니다.2

6.2 표시 의무와 구독 해지

동의가 있는 상대에게 보내는 경우에도, 발송자에게는 표시 의무가 있습니다. 스팸메일상담센터의 정리에서는 적어도 다음 정보가 필요합니다.2

  • 발송자 등의 성명 또는 명칭
  • 수신 거부 통지를 받을 메일 주소 또는 URL
  • 수신 거부할 수 있다는 취지
  • 발송자 등의 주소
  • 불만·문의처

즉 푸터에 최소한 이것이 필요합니다.

발송자: 주식회사 ○○
구독 해지: https://example.com/unsubscribe/xxxxx
수신 정지를 원하시면 위 URL에서 절차를 진행해 주세요.
주소: 도쿄도...
문의: support@example.com

또한 주요 수신 측은 구독 해지의 쉬움을 꽤 중시합니다.

  • Google: 대량 발송자에게는 원클릭 unsubscribe를 요구3
  • Yahoo: List-Unsubscribe와 본문 링크, 2일 이내 반영을 요구 / 권장4
  • Outlook: 찾기 쉽고 동작하는 unsubscribe를 권장5

그래서 최소한 본문에 보이는 링크, 가능하면 다음 헤더를 넣는 것이 자연스럽습니다.34

List-Unsubscribe-Post: List-Unsubscribe=One-Click
List-Unsubscribe: <https://example.com/unsubscribe/xxxxx>

6.3 인증과 도달률

주요 수신 측은 이미 「보낼 수 있는 것」이 아니라 「인증되어 있는 것」을 전제로 합니다.

Google의 공개 가이드라인에서는 다음이 요구됩니다.3

  • 모든 발송자: SPF 또는 DKIM, PTR(forward / reverse 일치), TLS
  • 대량 발송자: SPF + DKIM + DMARC, From 도메인 alignment
  • 낮은 spam rate
  • 대량 발송자에서는 one-click unsubscribe

Yahoo의 요건은 이렇습니다.4

  • SPF / DKIM / DMARC
  • DMARC alignment
  • valid forward / reverse DNS
  • unsubscribe
  • spam rate 0.3% 미만
  • opt-in
  • bulk와 transactional의 분리

Outlook도 고볼륨 발송자용 요건을 내놓고 있습니다.5

  • SPF pass
  • DKIM pass
  • DMARC(적어도 p=none, SPF 또는 DKIM과 alignment)
  • 실제로 존재하는 From / Reply-To
  • unsubscribe
  • list hygiene

최소한의 운영 점검을 표로 하면 이렇게 됩니다.

항목 최소한 할 일 목적
발송 도메인 SPF / DKIM / DMARC를 설정한다 사칭 방지, 도달률 개선
발송 서버 PTR을 조회할 수 있는 고정 환경으로 하고, TLS를 쓴다 수신 측 신뢰를 떨어뜨리지 않기 위해
From / Reply-To 실제로 존재하고, 회신을 받을 수 있는 주소로 한다 신고·해지 요청을 받을 수 있게 하기 위해
구독 해지 본문 링크 + List-Unsubscribe 신고율을 낮춘다
리스트 품질 opt-in만, 무효 주소를 제거 reputation을 지킨다
발송 속도 한 번에 늘리지 않고, 일정한 페이스로 보낸다 제한·스팸 판정을 피한다
감시 bounces / spam rate / complaints를 본다 악화를 빨리 멈춘다

Google은 발송량을 늘릴 때 낮은 볼륨부터, 반응이 좋은 상대에게, 일정한 페이스로 시작할 것을 권합니다. 갑작스러운 스파이크나 한 번에 배증하는 발송은 제한이나 reputation 저하의 원인이 되기 쉽습니다.3

7. 구현을 진행하는 방법

최소로 시작한다면, 순서는 이 정도가 현실적입니다.

  1. 보내는 메일 종류를 나눈다
    • 알림 메일
    • 뉴스레터
    • 세미나 안내
    • 기존 고객용 안내
  2. 구독 폼이나 동의 취득 플로를 만든다 홈페이지에서 설명문과 함께 받을 수 있게 합니다. 「무엇이, 어느 빈도로 도착하는지」가 보이는 문구로 하는 것이 중요합니다.4
  3. 구독자 테이블과 suppression 테이블을 나눈다 여기를 먼저 나눠 두면, 나중에 무엇으로 갈아타도 운영이 무너지지 않습니다.
  4. 발송 전용 도메인 / 서브도메인을 정한다 예를 들어 news.example.com이나 mail.example.com입니다. 적어도 일상의 수발주나 개인 메일박스와 책임을 섞지 않는 것입니다.34
  5. SPF / DKIM / DMARC / PTR / TLS를 갖춘다 자체 발송이라면 여기가 최우선입니다. reverse lookup이 되지 않는 환경을 발송 기반으로 두지 않는 것입니다.34
  6. 관리 화면은 작아도 되니 만든다 필요한 것은 화려한 UI가 아니라 다음 기능입니다.
    • 제목 편집
    • 본문 편집
    • 테스트 발송
    • 실제 발송
    • 발송 대상 미리보기
    • 배치 크기 설정
    • 결과 확인
  7. 처음은 소량부터 보낸다 기존 고객이나 반응이 좋은 구독자로 좁혀, 일정한 페이스로 냅니다. 문제가 없으면 대상을 넓힙니다.3
  8. 구독 해지와 bounce를 최우선으로 반영한다 오픈율보다 앞에서, 여기가 움직이는지를 확인합니다.

이 순서라면 「일단 보낼 수 있다」가 아니라 「사고 없이 계속할 수 있다」는 형태로 가져갈 수 있습니다.

7.1 다음에 찾아볼 키워드

사내에서 조사하거나 업체에 상담할 때, 그대로 검색어로 쓸 수 있는 말을 단계별로 늘어놓습니다.

단계 찾아볼 말
인증 설정 SPF 레코드 설정, DKIM 서명 활성화, DMARC p=none 시작, DMARC 리포트 읽는 법, 역방향 PTR 확인
출구 선정 Microsoft 365 SMTP 릴레이 커넥터, SMTP AUTH 발송, Exchange Server 익명 릴레이, 발송 전용 서브도메인
발송 구조 셀프호스트 뉴스레터 OSS, 더블 옵트인, 구독 해지 원클릭, List-Unsubscribe 헤더
운영 감시 bounce 처리 hard soft, spam rate 0.3%, Google Postmaster Tools, 웜업 발송량

이 가운데 먼저 손댈 것은 인증 설정입니다. 여기가 끝나지 않으면, 이후 작업을 아무리 정성스럽게 해도 도달하지 않습니다.

구독 폼, 동의 문구, 구독 해지 페이지 설계까지 포함해 다시 본다면, 홈페이지 제작과 함께 정리하면 진행하기 쉽습니다. 한편 기존 고객 명부나 사내 시스템, Windows 도구와 잇는 전제라면, 기술 상담·설계 리뷰에서 책임 분할부터 파고드는 편이 안전합니다.

8. 흔한 실패

흔한 실패는 대체로 이 근처입니다.

  • 사람의 일상 메일과 판촉·안내 메일을 같은 발송원으로 돌린다
  • 동의를 free text 메모만으로 관리한다
  • 구독 해지를 메일 회신 수작업으로 한다
  • 오래된 명함 리스트를 모아 흘려 넣는다
  • 갑자기 과거 최대 볼륨으로 보내기 시작한다
  • 알림 메일에 판촉 문구를 섞는다
  • 발송 결과를 「발송 API가 성공했다」에서 멈춘다
  • 기존 고객 명부보다 suppression 테이블이 약하다

특히 마지막은 정말 사고가 나기 쉽습니다.

영업 쪽 Excel에 주소가 남아 있다. 하지만 그 사람은 뉴스레터를 이미 해지했다. 이때 해지 정보가 항상 이긴다는 규칙으로 두지 않으면, 다른 경로에서 몇 번이고 재발송됩니다.

9. 정리

중소기업이 특정 서비스를 쓰지 않고 꽤 많은 인원에게 메일을 보내고 싶다면, 생각할 것은 「어느 버튼을 누를까」가 아닙니다.

정말 필요한 것은 다음 5점입니다.

  • Bcc 일괄 발송이 아니라 수신자별 개별 발송
  • 구독자 테이블suppression 테이블
  • 구독 해지를 자동으로 받는 동선
  • SPF / DKIM / DMARC / PTR / TLS
  • 알림계와 판촉계를 나누는 운영

결국 발송 수단을 갖는 것보다, 발송 규칙을 갖는 것이 먼저입니다.

수십~수백 건/회 정도라면 전용 서비스 없이도 충분히 돌릴 수 있습니다. 다만 그 경우에도 「메일 소프트웨어로 한꺼번에 보낸다」가 아니라 작은 발송 기반으로 설계하는 것이 지름길입니다.

관련 기사

참고 자료

같은 태그를 공유하는 최신 기사입니다. 더 가까운 주제로 지식을 넓힐 수 있습니다.

이 기사와 가까운 토픽 페이지입니다. 기사를 출발점 삼아 관련 서비스와 다른 기사로 이어집니다.

이 기사는 다음 서비스 페이지로 이어집니다. 가까운 입구부터 확인해 주세요.

자주 묻는 질문

이 기사 주제에 대해 상담 시 자주 나오는 질문을 모았습니다.

안내 메일을 Bcc로 모아 한꺼번에 보내면 안 되나요?
외부 고객이나 잠재 고객에게 계속 보내는 구조의 토대로는 약합니다. Bcc는 보내는 것 자체는 되지만, 구독 해지를 따라갈 수 없고, bounce 관리가 없으며, 동의 기록이 없고, 발송 속도를 제어할 수 없으며, 담당자 의존이 되는 등 운영의 본체를 하나도 갖지 못합니다. 인원이 조금 늘어난 순간에 수작업 운영이 무너집니다. 사내 연락이나 단발 관계자 연락이라면 성립할 때도 있지만, 외부향 지속 발송이라면 수신자별 개별 발송과 상태 관리 형태로 가야 합니다.
광고·안내 메일을 보내는 데 동의가 필요한가요?
광고·홍보 메일은 원칙적으로 사전 동의가 필요합니다. 스팸메일상담센터의 정리에서도, 사전 승낙 없이 광고 홍보 메일을 보내는 것은 원칙적으로 불가라고 되어 있습니다. Google도 Yahoo도, 수신자가 명시적으로 원한 메일만 보낼 것, 구매 리스트를 쓰지 말 것을 요구합니다. 실무에서는 동의 시각, 동의 취득 경로, 어떤 발송인지, 설명 문구를 기록으로 남겨야 합니다. 홈페이지에 공개된 사업용 주소에 대한 예외 규정은 있지만, 그에 의존한 발송 기반은 권하지 않습니다.
메일이 스팸으로 판정되지 않으려면 최소한 무엇이 필요한가요?
발송 도메인 인증입니다. 구체적으로는 SPF/DKIM/DMARC 설정, reverse PTR을 조회할 수 있는 발송 환경, TLS, 실제로 존재하고 회신을 받을 수 있는 From/Reply-To, 본문의 구독 해지 링크와 List-Unsubscribe 헤더, opt-in만의 리스트 품질입니다. Google은 Gmail 대상으로 하루 5,000통을 넘는 발송자에게 SPF+DKIM+DMARC와 원클릭 구독 해지를 요구하고, Yahoo는 spam rate 0.3% 미만 등을 요구합니다. 또한 발송량을 늘릴 때는 낮은 볼륨부터 일정한 페이스로 시작해야 합니다.
뉴스레터 발송 서비스를 쓰지 않고 자체적으로 발송 기반을 만들 수 있나요?
수십~수백 건/회 규모라면 충분히 가능합니다. 핵심은 구독자 데이터, 발송 규칙, 발송자 identity(도메인·인증·구독 해지 URL)를 자사 쪽에 두고, SMTP 릴레이라는 출구만 나중에 갈아끼울 수 있는 구성으로 하는 것입니다. 중심은 SMTP가 아니라 구독자 테이블·suppression 테이블·발송 큐입니다. 다만 하루 수천 건에 가까워지면 IP 평판과 신고율 관리가 주제가 되므로, 전용 서비스를 쓰는 편이 저렴한 경우도 많아집니다.

저자 프로필

기사 저자의 프로필 페이지입니다.

Go Komura

합동회사 코무라소프트 대표

Windows 소프트웨어 개발, 기술 상담, 장애 조사를 중심으로 재현이 어려운 장애 조사와 기존 자산이 남아 있는 프로젝트에 강점이 있습니다.

블로그 목록으로 돌아가기