๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - React Email

2026. 7. 21. 14:55ยท๐Ÿ“‚ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

React Email

 

 

โœ… React Email์ด๋ž€?


์ด๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ๋“ค์ด ์ตœ์‹  CSS ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฉ”์ผ ํ…œํ”Œ๋ฆฟ์„ ์ง์ ‘ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

ํ…œํ”Œ๋ฆฟ์„ ์ž‘์„ฑํ•  ๋•Œ ํ…Œ์ด๋ธ”๋„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ ํ…Œ์ด๋ธ”์€ ์ž‘์„ฑํ•˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ๊นŒ๋‹ค๋กญ๊ณ  ๊ท€์ฐฎ๋‹ค.
๋˜ ์™ธ๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ๋„ ์ง€์›ํ•˜์ง€ ์•Š์•„์„œ ๋ชจ๋“  CSS๋ฅผ HTML ์•ˆ์— ์ง์ ‘ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

 

์ด ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๊ฒƒ์ด React Email์ด๋‹ค.

 

React Email์€ Resend์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํŒจํ‚ค์ง€์ด๋‹ค.

์ด๊ฑธ ์‚ฌ์šฉํ•˜๋ฉด ReactJS ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ด๋ฉ”์ผ ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

https://react.email/

 

React Email

A collection of high-quality, unstyled components for creating beautiful emails using React and TypeScript.

react.email

 

 

โœ… Installation


npx create-email@latest

์„ค์น˜ํ•˜๋ฉด react-email-starter๋ผ๋Š” ํด๋”๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

 

ํ•ด๋‹น ํด๋” ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ€ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰์‹œ์ผœ์ค€๋‹ค.

npm i

 

react-email-starter

 

react-email-starter/package.json

 

ํ•ด๋‹น ํด๋”์—์„œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์ค€๋‹ค.

npm run dev

๊ทธ๋Ÿฌ๋ฉด localhost๋กœ email preview๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

โœ… Usage


import { Resend } from "resend";
import { render } from "@react-email/components";
import type { Route } from "./+types/welcome-page";
import WelcomeUser from "../../../../react-email-starter/emails/welcome-user";

const client = new Resend(process.env.RESEND_API_KEY);

// resend๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ email service๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ

/* export const loader = async ({ params }: Route.LoaderArgs) => {
  const emailHtml = await render(<WelcomeUser username={params.username} />); 
  const { data, error } = await client.emails.send({
    from: "Somename <somename@mail.your.domain>",
    to: ["blabla@naver.com"],
    subject: "Welcome to wemake",
    html: emailHtml,
  });
  return Response.json({
    data,
    error,
    emailHtml,
  });
}; */

export const loader = async ({ params }: Route.LoaderArgs) => {
  const { data, error } = await client.emails.send({
    from: "Somename <somename@mail.your.domain>",
    to: ["blabla@naver.com"],
    subject: "Welcome to wemake",
    react: <WelcomeUser username={params.username} />,
  });
  return Response.json({
    data,
    error,
  });
};

'๐Ÿ“‚ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Vercel React Router Preset  (0) 2026.07.23
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Toss Payments SDK  (0) 2026.07.22
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Cloudflared  (0) 2026.07.21
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - React Router v7 - useFetcher  (0) 2026.06.26
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Supabase SSR Package, Auth  (0) 2026.06.10
'๐Ÿ“‚ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Vercel React Router Preset
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Toss Payments SDK
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Cloudflared
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - React Router v7 - useFetcher
j2yonghwa
j2yonghwa
Trying to be a fullstack developer ๐Ÿš€
  • j2yonghwa
    j2yonghwa
    j2yonghwa
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (179)
      • โฐ Daily WakaTime (1)
      • ๐Ÿ–๏ธ ๋…ธ๋งˆ๋“œ์ฝ”๋” (2)
      • ๐Ÿบ Dev Setup (4)
      • ๐Ÿ”ญ Tech Info (1)
      • ๐Ÿ” Security (1)
      • ๐Ÿšซ Error (1)
      • ๐Ÿค– AI (4)
      • ๐Ÿ“‚ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (29)
      • ♣๏ธ Next.js 14 (10)
      • ♠๏ธ Next.js 12 (20)
      • ๐Ÿ›ธ React Native (12)
      • ๐Ÿฆ‹ TypeScript (2)
      • ๐Ÿ Python (2)
      • ๐ŸŒŠ TailwindCSS (4)
      • ๐Ÿงฉ SQL (32)
      • ๐Ÿ’Ž Prisma (5)
      • ๐ŸŒฑ MongoDB (4)
      • ๐ŸŽฏ Redis (1)
      • ๐Ÿงฌ GraphQL (2)
      • ๐Ÿ”ฅ Firebase (7)
      • ๐Ÿ’ธ Third-Party Services (5)
      • ๐Ÿ•ธ๏ธ Web (1)
      • ๐Ÿ† ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (23)
      • ๐Ÿ“™ ๋ชจ๋”ฅ๋‹ค (5)
      • ๐Ÿ“— ์ฝ”ํ…Œ ํ•ฉ๊ฒฉ์ž ๋˜๊ธฐ -JS- (0)
      • ๐Ÿ“˜ ํด๋ฆฐ์ฝ”๋“œ (0)
      • ๐Ÿฏ ๊ฟ€ํŒ ๐Ÿ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • ๊นƒํ—™
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    Firebase
    Python
    SQL
    MySQL
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ
    react router
    database
    mongoDB
    ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    Prisma
    dev setup
    API
    PostgreSQL
    React Native
    next.js 12
    third-party services
    0๋ ˆ๋ฒจ
    Next.js
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    next.js 14
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
j2yonghwa
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - React Email
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”