블로그 뉴스레터 구독 기능 추가하기 - 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

자주 묻는 질문

Resend는 개발자 친화적인 이메일 API 서비스입니다. 월 3,000통까지 완전 무료이며, SendGrid나 Mailchimp보다 훨씬 간단하고 현대적입니다. React Email 지원으로 아름다운 이메일을 쉽게 만들 수 있습니다.
네! 월 3,000통까지 완전 무료입니다. 대부분의 개인 블로그에는 충분한 양이며, 신용카드 등록도 필요 없습니다. 3,000통 초과 시에만 유료 플랜($20/월, 50,000통)으로 업그레이드하면 됩니다.
총 5분이면 충분합니다! Resend 계정 생성(2분) + API 키 발급(1분) + Audience 생성(1분) + 환경 변수 설정(1분)만 하면 바로 사용할 수 있습니다. 코드는 이미 준비되어 있습니다.
Resend Audience에 저장됩니다. Resend Dashboard에서 구독자 목록을 확인하고, CSV로 내보내기도 가능합니다. 모든 데이터는 Resend 서버에 안전하게 저장되며, GDPR 준수합니다.
Resend Broadcasts 기능을 사용하거나, Resend API로 프로그래밍 방식으로 발송할 수 있습니다. React Email로 아름다운 템플릿을 만들고, Audience 전체에 한 번에 발송 가능합니다.

💬 댓글