블로그 뉴스레터 구독 기능 추가하기 - Resend 완벽 가이드블로그 뉴스레터 구독 기능 추가하기 - Resend 완벽 가이드

블로그 뉴스레터 구독 기능 추가하기 - Resend 완벽 가이드

5분 만에 완성하는 무료 이메일 구독 시스템

블로그 뉴스레터 구독 기능 추가하기 - Resend 완벽 가이드

5분이면 완료! 블로그에 이메일 구독 기능을 추가하세요.


왜 뉴스레터인가?

📊 뉴스레터의 힘

  • 이메일 오픈율: 평균 20-30% (SNS 도달률 2-5%보다 10배 높음)
  • 직접 소통: 독자와 1:1로 소통
  • 플랫폼 독립성: 블로그가 사라져도 구독자 목록은 내 것

🚀 Resend를 선택한 이유

기능ResendMailchimpSendGrid
무료 한도3,000통/월500통/월100통/일
개발자 경험⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
React Email✅ 지원
가격 (유료)$20/월 (50K)$13/월 (500)$20/월 (50K)
UI현대적복잡복잡

결론: Resend가 가장 개발자 친화적이고 무료 한도도 넉넉합니다!


🚀 5분 빠른 시작

1단계: Resend 계정 생성 (2분)

  1. https://resend.com 접속
  2. Start Building 클릭
  3. GitHub 계정으로 가입 (무료)

2단계: API 키 발급 (1분)

  1. Dashboard → API Keys 메뉴
  2. Create API Key 클릭
  3. Name: Newsletter, Permission: Full Access
  4. API 키 복사 ⚠️ 한 번만 표시됩니다!
예시: re_A1b2C3d4E5f6G7h8I9j0K1l2M3n4O5p6

3단계: Audience 생성 (1분)

  1. Dashboard → Audiences 메뉴
  2. Create Audience 클릭
  3. Name: Blog Subscribers 입력
  4. Audience ID 복사
예시: aud_A1b2C3d4E5f6G7h8I9j0K1l2

4단계: 환경 변수 설정 (1분)

Cloudflare Pages인 경우

  1. Cloudflare Dashboard → Workers & Pages → 프로젝트 선택
  2. SettingsEnvironment variables
  3. 다음 3개 변수 추가:
NameValueEnvironment
RESEND_API_KEYre_your_api_key...Production + Preview
RESEND_AUDIENCE_IDaud_your_audience_id...Production + Preview
FROM_EMAIL[email protected]Production + Preview

로컬 개발 환경

.env 파일 생성:

Terminal window
RESEND_API_KEY=re_your_api_key_here
RESEND_AUDIENCE_ID=aud_your_audience_id_here

FROM_EMAIL 옵션:


🎉 완료! 이제 테스트해보세요

작동 방식

  1. 독자가 이메일 입력 → 구독 폼
  2. API 엔드포인트 호출/api/newsletter/subscribe
  3. Resend Audience에 추가 → 자동 저장
  4. 환영 이메일 발송 (선택사항)

테스트 방법

  1. 블로그 포스트 페이지 하단으로 스크롤
  2. 뉴스레터 구독 폼 확인
  3. 이메일 입력 후 구독하기 클릭
  4. Resend Dashboard → Audiences에서 구독자 확인!

📧 뉴스레터 실제로 발송하기

방법 1: Resend Broadcasts (간단)

  1. Resend Dashboard → Broadcasts
  2. Create Broadcast 클릭
  3. Audience 선택: Blog Subscribers
  4. 이메일 작성 (HTML 또는 React Email)
  5. Send 클릭!

방법 2: React Email (아름다운 템플릿)

Terminal window
npm install @react-email/components
emails/newsletter.tsx
import { Html, Button, Text } from "@react-email/components";
export default function Newsletter() {
return (
<Html>
<Text>안녕하세요! 새 글이 올라왔습니다.</Text>
<Button href="https://log8.kr/blog/new-post">읽으러 가기</Button>
</Html>
);
}

💡 프로 팁

1. 이중 확인 (Double Opt-in)

스팸 방지를 위해 이중 확인 추가:

// 1단계: 확인 이메일 발송
await resend.emails.send({
to: email,
subject: "구독 확인",
html: `<a href="${confirmUrl}">확인하기</a>`,
});
// 2단계: 확인 후 Audience에 추가

2. 환영 이메일 자동 발송

// 구독 후 바로 환영 이메일
await resend.emails.send({
to: email,
subject: "구독해주셔서 감사합니다!",
html: welcomeTemplate,
});

3. 구독자 세그먼트

Resend에서 태그로 구독자 분류:

  • interested-in-react : React 관련 글에만 발송
  • interested-in-ai : AI 관련 글에만 발송

🔒 보안 및 개인정보

GDPR 준수

  • ✅ Resend는 GDPR 준수
  • ✅ 구독 취소 링크 필수
  • ✅ 개인정보 처리방침 명시

스팸 방지

  • ✅ Rate limiting 추가
  • ✅ reCAPTCHA 고려
  • ✅ Honeypot 필드

📊 구독자 분석

Resend Dashboard에서 확인:

  • 총 구독자 수
  • 오픈율 (이메일 오픈 비율)
  • 클릭률 (링크 클릭 비율)
  • 구독 취소율

🚨 문제 해결

”API key is invalid”

→ API 키를 다시 확인하세요. re_로 시작해야 합니다.

”Audience not found”

→ Audience ID를 다시 확인하세요. aud_로 시작해야 합니다.

이메일이 발송되지 않음

→ FROM_EMAIL이 [email protected]인지 확인하세요. 또는 도메인 인증을 완료하세요.

”Rate limit exceeded”

→ 무료 플랜은 월 3,000통 제한입니다. 사용량을 Dashboard에서 확인하세요.


💰 비용 계산

무료 플랜 (대부분 충분)

  • 3,000통/월 무료
  • 구독자 수 무제한
  • Audience 무제한

예시: 구독자 300명, 월 10회 발송 = 3,000통 (무료!)

유료 플랜

  • $20/월: 50,000통
  • $80/월: 250,000통

언제 유료로?

  • 구독자 1,000명 이상
  • 주 2회 이상 발송

다음 단계

  1. 지금: Resend 계정 만들고 테스트
  2. 📝 1주일 후: 첫 뉴스레터 발송
  3. 📊 1개월 후: 오픈율 분석 및 개선
  4. 🚀 3개월 후: React Email로 템플릿 업그레이드

자주 묻는 질문 (FAQ)

Q1. Resend란 무엇인가요?

Resend는 개발자 친화적인 이메일 API 서비스입니다. 월 3,000통까지 완전 무료이며, SendGrid나 Mailchimp보다 훨씬 간단하고 현대적입니다. React Email 지원으로 아름다운 이메일을 쉽게 만들 수 있고, Next.js, Astro 등 모든 프레임워크와 호환됩니다.

Q2. Resend는 무료인가요?

네! 월 3,000통까지 완전 무료입니다. 대부분의 개인 블로그에는 충분한 양이며, 신용카드 등록도 필요 없습니다. 3,000통 초과 시에만 유료 플랜($20/월, 50,000통)으로 업그레이드하면 됩니다.

계산 예시:

  • 구독자 300명 × 월 10회 발송 = 3,000통 (무료!)
  • 구독자 500명 × 월 10회 발송 = 5,000통 (유료 필요)

Q3. 블로그에 뉴스레터를 추가하는 데 얼마나 걸리나요?

총 5분이면 충분합니다!

  1. Resend 계정 생성 (2분)
  2. API 키 발급 (1분)
  3. Audience 생성 (1분)
  4. 환경 변수 설정 (1분)

구독 폼 컴포넌트와 API 엔드포인트는 이미 만들어져 있으므로, Resend 설정만 하면 바로 사용할 수 있습니다.

Q4. 뉴스레터 구독자는 어디에 저장되나요?

Resend Audience에 저장됩니다. Resend Dashboard에서 다음을 할 수 있습니다:

  • 구독자 목록 확인
  • CSV로 내보내기
  • 태그로 분류
  • 수동으로 추가/삭제

모든 데이터는 Resend 서버에 안전하게 저장되며, GDPR 준수합니다. 언제든 백업 가능하고, 다른 서비스로 이전도 가능합니다.

Q5. 뉴스레터를 실제로 발송하려면?

두 가지 방법이 있습니다:

1. Resend Broadcasts (간단):

  • Dashboard → Broadcasts → Create
  • Audience 선택 → 이메일 작성 → Send
  • 코딩 없이 GUI로 발송 가능

2. Resend API (자동화):

await resend.emails.send({
to: audienceId,
subject: "새 글이 올라왔습니다!",
html: emailTemplate,
});

React Email로 아름다운 템플릿을 만들고, 프로그래밍 방식으로 자동 발송도 가능합니다!


#뉴스레터 #Resend #이메일마케팅 #블로그 #Astro

💬 댓글